"Crack" is already in a big trip today, as a developer uses more Delphi, because there is a particularity of its realization, the crack mode is very different from MFC, but after DEDE appears, the crack of the Delphi program becomes easy. Combined with the experience in developing and cracking, providing a few ideas that improve the anti-cracking ability, please correct it.
Do not use the clear comparison.
If you use the following code in the program:
if edt_serialno.text = '1234567' Then ...
Else ShowMessage ("Serial No Error!");
You can see the registration code (serial number) directly using the anti-assessment tool. So you can't use it, you must pass through a series of calculations.
2. For the function of DEDE search process / function entry, "confusing" to the program to be published - "Confused" to CMP_20040101, this does not have any name, and add a few similar controls in the picture .
3. For the reference to the function address in the BPL package, for critical programs, such as control registration procedures (the most distributed database management system in Delphi is often a machine management registration). Do not use the included run The way of the package can be saved, and this part of the VCL source code can be saved in the project directory, and some modifications are appropriate (adjust the reference address and call code).
4. Determine the password multiple CALL several functions, especially strings as parameters. Delphi is different from C / C , only one address pointer in the stack, the global string is different from the local method, and every more The Call layer function / process, pointer more to one layer. Nothing, increase the complexity of dynamic debugging.
5. If it is a server program (distributed database management system registration section), try to make a system service. And limit the use of 98 (98 breaking is easy), when the registration is incorrect, the server does not report an error, but not Provide client service.