Software Reverse Engineering - Tech Facts 95 v1.30 - Enter Any Registration Copyright (c) 1998 Volatility Document Courtesy of The Immortal Descendants - http://pages.prodigy.net/volatility Well, here's my first, of hopefully a long line of software reverse engineering (cracking) tutorials. This program was one of the first I cracked, because I was told that it was VERY simple, and as you'll see, it is. I'll be adding essays on the basics, fundamentals, tools needed, etc., for reverse engineering as time permits, but I personally think the best way to learn is to jump right in, and learn "hands on". This crack isn't to find a serial number, or a registration code, we'll make the program "think" we registered it. --------------------------------------------------------------------------------------------- Target: Tech Facts 95 v1.30 (tekfct95.zip) - 528,974 bytes. Download this at: ftp://ftp.zdnet.nis.newscorp.com/pcpro/08_97/tekfct95.zip Tools Needed: WDASM - recommended (or disassembler of your choice) HIEW - recommended (or hex editor of your choice) PMTK - recommended (or patcher of your choice) --------------------------------------------------------------------------------------------- Prepare To Crack: Unzip Tech Facts 95, and run it. Pay close attention to what kind of protections(s) you're dealing with. Make notes of what the "Nag" and "Registration" screens say (trust me, you'll need this info later). If you go to the option "Help" then "About", you'll see that this window lists the string "Unregistered Version". You'll also see a "Use Reg Key" button. If you click it, a window will pop up with the caption "Tech Facts 95 Registration", and three text inputs: "First Name", "Last Name" and "Registration Key". Go ahead and enter some test data, and click the "Register" button. A message box will pop up telling you that your registration key failed. These little exercises are essential to determining what kind(s) of protection(s) you're dealing with. Now we've found some strings to search for (you wrote them down, right?). Starting The Crack: The first thing you need to do, is get a "Dead Listing" of the program, the term "Dead Listing" comes from the fact that we want ALL the code disassembled, and on the screen. We'll need this to search for our strings. To do this, run Wdasm (or your favourite disassembler), and choose "Disassembler" then "File to Disassemble" then choose tekfct95.exe. Go out and have a cigarette, or sip a cold one, because it'll take a bit. When Wdasm finishes, search for your strings you wrote down (use the "Refs" option to simplify your search). Find the string "unregistered", and double-click on it. This will take you to the reference in your listing. If you don't know much about assembly language, I'll try to comment the code parts as best I can... I still have MUCH to learn myself. You may also see a few minor differences, but the code, for the most part, will be the same as mine: --------------------------------------------------------------------------------------------- :004805F9 803D1AF34C0000 cmp byte ptr [004CF31A], 00 "" | :0048060F BA18074800 mov edx, 00480718 " :00480614 8B83E0010000 mov eax, dword ptr [ebx+01E0] "Licensed Version. Do Not Copy!" | :00480631 BA38074800 mov edx, 00480738