Tagged - engineer

Introductory Reverse Code Engineering Tutorial

Sunday, December 21st, 2008

This has to be one of the easiest crackme’s I’ve found, it’s called Diablo’s Orion crackme 1. The only way you could really fail is if you have no knowledge whatsoever. The problem is, some programs protections are just as simple. Anyway, we want to load up the program in ollydbg.

crackme1

Then we hit play, the screen comes up asking for a code.

crackme2

That’s good, lets give it a code. I’ll put something random like cheesepie, and hit Ok.

crackme3

Now I’m going to pause the program in ollydbg by hitting the “pause” button in ollydbg. Then I’ll just view all the calls made through the call stack.

crackme4

Let’s go to 00439002  and set a break point at PUSHEBP, the beginning of the command. (By double clicking on the line in the dissembler) Now I’m going to press play on the program and try entering my code, cheesepie again.  Bam! It breaks on my break point.

crackme6What’s this? The registers already say “Wrong Code! Try again”. OK well I think it’s time to go back to the call stack and see if there’s something before that.

crackme7There is. Let’s go to 004016EC.

crackme8Again, I’m going to set a memory break point at the top of the command at PUSHEBP. I’m going to get rid of my old break point by accessing the B (Breakpoints) in ollydbg. Just looking through the code I see something interesting. It seems there’s some ASCII text possibly being compared to something. Still, I’m going to rerun the program and break on my new break point.

crackme91

It looks like there’s a JE coditional jump that would give me the happy message, so I could probably just change this line to “jmp” which just jumps always over the unhappy message. So I could do that, but I’m not going to bother. The code is for the crackme is actually standing right in front of me, so why not use that.

crackme10***vErYeAsY*** is the code.

crackme11It also goes on to show a naked woman after you hit ok  so if you’re offended by that I don’t think you should try this crackme. It took me all of 5-10mins to get past this kind of protection, therefore I’m calling it preschool stuff. If you’re interested and want to learn more, I suggest you head over to tuts4you.com and do Lena’s tutorials. I’ve done them all myself, but I feel like I need to do them again to be honest. I only reverse for fun, there’s many like me out there.

A goal of mine is to someday be able to reverse trojans/malware because I find them very interesting. That kind of thing could be done with IDA Pro or in a VMWare box, I’m guessing. They’re usually packed and spliced with something, and unpacking I’m not so good at, but that’s a major thing in reversing.

Rockstar seems to have underestimated reverse engineers

Wednesday, December 10th, 2008

In an interview on IGN.com Rockstar noted that

In the seemingly inevitable event that some dirty pirate manages to crack GTA IV PC and make it available, what are the advantages and disadvantages to using a legitimate copy over a pirated one?

Rockstar: Aside from the fact that warez are a great place to pick up a Trojan or key logger, using a cracked copy of GTA IV PC will result in varying changes to the game experience. These can range from comical to game-progress-halting changes.

Rockstar Games rewards loyal, paying customers and will offer incentives and downloadable content that will only be available to registered users of the game, running non-hacked copies, via Rockstar Games Social Club.

gta-iv-trailer-2-tomorrow-1A reverse group calling themselves “fed0r” seems to have gotten rid of all trigger issues and the game runs just fine, so users of various torrent sites note. It only took 2 days with a 29kb file no less.

I’m really not sure exactly what needs to be done to really encrypt a file, but whatever these game companies are using now isn’t working, at all. I’ve done my share of reversing (with reversemes). There’s people out there that all they do is reverse. To understand a reverser, you have to sort of done it yourself. I have, and it’s highly addictive, even with just reversemes. I respect companies copy protections so I have never touched retail  programs.

I think game companies need to hire more reverse engineers to crack their protection, and then add code that will make that method not work.