Valek / Phrozen Crew - Cracking Tutor #01

Target : AceDiary v1.0
Target URL : http://www.soft1st.com
Tools : PEiD v0.8 or PE-Scan v3.13, CASPR v1.110, ASPackDie v1.4, Import Reconstructor v1.4.2+
Tools URL : http://protools.cjb.net


INTRODUCTION
Welcome to my first tutor for the Phrozen Crew. This is kinda an intermediate to advanced tutor since it covers unpacking and rebuilding import tables to enable you the cracker to successfully disassemle the target application.


IDENTIFICATION

Like with all other target programs, it is an advantage to know whether or not an application is packed with a encryption/protection scheme and if so, with which one. For this reason I recommend the PEiD (PE iDentifier v0.8) coded by snaker & Qwerton or PE-Scan v3.13 by Snyper.



I also recommend that if you use PEiD that you turn on the HARDCORE scanning option number 2 ON. The reason for this is that a lot of the more advanced packers/encryptors will try and fake identifiers by using other packers/cryptors' identification strings as well as virtually no identification markings at all. This will limit those chances to allmost none!



UNPACKING

Im NOT going to explain in detail MANUAL UNPACKING since this tutor is aimed at the beginner/ intermediate cracker level. Simply download and extract CASPR from the Unpacking Gods to your Windows path, ie. "C:\Windows\System32" or something similar. There is a GUI for CASPR out there but I prefer just running it in the Command DOS box. After you had extracted CASPR into a Windows path,
drop into a DOS box prompt by clicking on START -> RUN -> "command.com". On NT/2K/XP systems, click START -> RUN -> "cmd". Now change directories to where you have installed AceDiary to. Since the main executable is named "AceDiary.exe" simple now type "CASPR AceDiary.exe" (without the quotation marks of course). CASPR will produce a file named "AceDiary.ex_" - leave this file for now.



Now extract and execute Yoda's ASPackDie v1.4 and select the main "AceDiary.exe" file. It will proceed to unpack this and save the unpacked version of the executable as "unpacked.exe".

Why BOTH these methods you ask? Let me explain:

1. CASPR is a GREAT unpacker since the file will be executable afterwards

2. Yoda has added a nice feature to his unpacker to add specific EXE header information to the unpacked executable to make it W32Dasm disassembler friendly where as in the past it did NOT want to disassemble the unpacked files.

3. In this specific case, the "unpacked.exe" file produced by Yoda's ASPackDie v1.4 unpacking tool will NOT run :< But don't worry, thats why the next part is important.

4. CASPR's unpacked version DOES run but is NOT W32Dasm friendly. We are going to use the CASPR unpacked version to repair the ASPackDie unpacked file to ensure the end result is a RUNNING and W32Dasm friendly unpacked file.


REBUILDING THE FILE
Now you should have the following new files:

1. AceDiary.ex_
2. Unpacked.exe

Extract but don't execute Import Reconstructor quite yet. First, rename the "AceDiary.ex_" file to some other name with a proper .EXE file extension, ie. "Ace.Exe". Now execute "Ace.Exe" and type in your diary password. You are now faced with the main big AceDiary panel - quite a nice GUI I must say! Once AceDiary has finished loading up, execute Import Reconstructor. Once this has finished loading up too, click on the "Attach to an Active Process" drop down list box and click on the "Ace.Exe" filename. Click the AIT AUTOSEARCH button and you will be greeted with a "Found something" message box.


Click OK and then click on the GET IMPORTS button. Now click the FIX DUMP button and select the non-running "unpacked.exe" file - now wait... Import Reconstructor will show a message saying "***New Section Added successfully..." etc.

When Import Reconstructor had done with repairing the file it will save it as "unpacked_.exe". Now you can exit the Import Reconstructor utility as well as AceDiary. The "unpacked_.exe" file will now be now execute perfectly fine and will also be W32Dasm friendly and disasseble correctly.

You can now proceed to delete the uneccesary files i.e.

1. unpacked.exe (NOT the needed unpacked_.exe file)
2. Ace.Exe

They are no longer needed.


DISASSEMBLING THE APPLICATION
Unless you like watching the unpacking and rebuilding process happen all over again, I recommend that you now copy and paste the "unpacked_.exe" file to make a backup of it because it IS possible to mess up the file with the hex editor when you are not paying attention and then you have to redo the whole process. I usually make a backup copy of the .EXE and rename it to "target.exe"

Execute W32Dasm and load the "unpacked_.exe" file into the disassembler and wait for it to finish disassembling it. It is also recommended you save your "Project Files and Comments" just in case you have to reboot for some reason. This will make it possible for W32Dasm tot "instantly" reload the executable.
You are now ready to crack this application. This tutor is NOT intended so teach you how to disassemble, trace and patch the application but rather to show you how to unpack and FIX a *broken* unpacked file in such a way to make it much easier for you to get a RUNNING executable thats W32Dasm friendly.


Enjoy!

Valek / Phrozen Crew

PS: Click on the Phrozen Crew logo to visit our website or on my logo to contact me via email