Step 9. Ok, kool, this is where it creates the NAG. No need to goto
referenced calls' address, so we'll patch here.
Step 10. Ok, what now? We'll change 55 at 449300 to C3. The address might
be different coz of Delphi' runtime files!
Step 11. Run HIEW, open PROJECT1.EXE, press F5 and enter 48700. This
offset address is where you have got in W32Dasm!
Step 12. Change 55 to C3 by using F3, then save it (with F9).
Step 13. Why C3? When the procedures call this address, it'll tell him to
go back! (C3 means Return).
Step 14. Now run PROJECT1.EXE. Kool, it works! Is it all?? NO! :)
Step 15. Don't quit W32Dasm, just run Delphi and UNinstall your ZipTV
package. Also don't quit Delphi yet.
Step 16. Ok, let's goto your ZipTV folder where you have installed your
package. I use Windows Commander to search for strings in files,
with ALT-F7. So now in WC, press ALT-F7, click Find Text and
enter "unregistered", then search!
Step 17. In Search results box, we find TZIPTV5.BPL and ZTVMAIN.DCU. We
ignore *.BPL, Delphi will create new BPL, so we'll work on DCU
file. Ok, run HIEW and open ZTVMAIN.DCU.
Step 18. Look in W32Dasm, at the 449300 address, we take 55, 8B, EC, B9,
08, 00 bytes. In HIEW, press F7 to search, in HEX field, type:
55 8B EC B9 08 00. Search!
PART 4
~~~~~~
On requested, I'm writing this tutor to show you how to crack
Delphi components. I've explained in old Tutor #20 how we cracked,
but this is another example. It doesn't matter if you have Delphi 3, 4
or 5, this will do the same way, just different addresses.
Ok, let's go..
What we'll need:
ZipTV v2.5210 Build 10 - http://www.ziptv.com
W32Dasm v8.93 - http://w3.to/protools (yes, no SoftiCE needed!)
HIEW v6.20, or any HEX editor - http://w3.to/protools
Windows Commander v4.01 - http://www.ghisler.com (oh my my my.... fav app)
And Delphi 5 (3 or 4 is okay)
Step 1. Run Delphi and install the components.
Step 2. Open a new form and put any 1 of the ZipTV components on the
form and compile PROJECT1.EXE!
Step 3. When you run PROJECT1 in Delphi, the NAG won't pop up. So quit
Delphi, run PROJECT1.EXE, ah ugly NAG, unregistered...
Step 4. Ok, copy PROJECT1.EXE to PROJECT1.W32, also copy to PROJECT1.EXX
for backup.