home *** CD-ROM | disk | FTP | other *** search
- Flu[X]'s cracking tutor #6 - Dealing wit a packed EXE
- Getting past Disassembler Protection
-
- Tools
- -Softice 3.2+
- -Live Image v1.29D Build 52
- -Hackersview 5.65+
- -Brain
-
-
- Ok ... recently programmers are using techniques or programs to "pack"
- their EXEcutables or DLL's in an attempt to add additional copyright
- protection. A popular one is shrinker. If your a cracker.. believe me you
- know about it :) Ok enough lets get started..
-
- Ok lets examine our target, Live Image v1.29D Build 52, it asks for a name/serial.
- So we begin tracing (hmemcpy). Eventually we come to these lines of code:
-
-
-
- mov eax,[ebp-20]
- mov ecx,[ebp-0C]
- mov esp, ebp
- Ret
-
- ----- After return is executed -----
-
- cmp eax,0
- je BAD_Cracker
-
-
-
- OK, what it does is move a value into EAX, and if that value is 0
- it means you failed the serial check... Now.. if we could make it
- always pass the test... we would have a full regged copy (because
- the programmer always uses the above routine to check his serials).
- OK, i also notice that ebp-20 is 0 unless it is right serial..
- but wait.. EBP is always non zero.. so if we moved ebp into eax
- it will always pass the test.
-
- so the above code would become:
-
- mov eax,[ebp] ; line changed...
- mov ecx,[ebp-0C]
- mov esp, ebp
- Ret
-
-
- Ok we think this is going to be some simple patch... So we opan up
- W32Dasm to find the file offset (we did write down the address
- from SoftIce didnt we?). Ok we disassemble the file.. and what?!?!
- what is this crap? i cant find that code anywhere!
-
- This EXE is packed..ARGHHH...So after a bit of analyzing we notice
- that it is packed by shrinker.. so we must De-pack it. I used
- Unshrinker v1.2 (on my web page http://tuts98.cjb.net).
-
- Ok we now have an unshrinked EXE file :) Things should be good right?
- No, wrong. Lets disassemble the unpacked EXE with W32Dasm, what it wont
- work? It seems as if the author not only used Shrinker, but also added
- a bit of his own protection! ok.. now what do we do here? wait a sec,
- remember what the code we are looking for is? Maybe if we used our
- heads a bit (a very little bit) we would recall taht Hiew allows
- for Hex Searches :)
-
- mov eax,[ebp-20]
- mov ecx,[ebp-0C]
- mov esp, ebp
-
- This translates to: 8B45E08B4DF48BE5
-
- so if we open the file in Hiew we can do a search for 8B45E08B4DF48BE5.
- Hit the F7 key in Hiew and type it in the hex string area.. and find it.
- Hey.. it worked.. we found our code..
-
- so change it from:
- 8B45E0
- 8B4DF4
- 8BE5
-
- to:
- 8B4500 ;note the 00.
- 8B4DF4
- 8BE5
-
- save the file and run.. Hey look its registered.. crack done!
-
- Also about a patch.. a patch for this program would be virtually
- seeing as it is improbable to modify a packed file.
-
-
-
- I hope to see you again in Flu[X] tutor #7
- As always if you like a program buy it! Thi essay is for
- educational purposes ONLY! Software authors deserve your support!
-
- Flu[X]/PC98
- http://tuts98.cjb.net