One of the reasons all of these applications have cracks is that the
method of implementation is factored. As programmers, we like to factor
our code so it's nice and neat - one or two calls provides whatever
functionality we would like. The down side to this is that the crack has
to modify one or two areas of the application in order to defeat the
protection. 

If you want decent protection, you pretty much have to write your own
scheme and then de-factor it (I use includes in Delphi but macros work
for C). Since most of my applications are business related, I store some
of my registration information physically in the database that I am
creating (which no business would willing share) and some in the EXE
itself.

Finally, you must have multiple calls to the defactored code spread
throughout the application. For instance, if you put the defactored code
in every forms OnCreate event, that is potentially hundreds of places in
the code that would have to be discovered and cracked around. That
leaves the only real method of cracks to be discovery of the key data.
By spreading the data throughout the EXE and the data (and possibly the
registry, although I personally never use the registry for anything) and
having a variety of different tests, it becomes very difficult to make
sure that the application is truly cracked.

If you pay attention to what the crackers are really doing, they are
jumping AROUND the protection or returning success. Mostly they do this
by altering the EXE. A CRC is an excellent way to ensure that no one
alters your EXE and that your protection scheme is in place.

BTW, as far as dates go, I always use an alternative date scheme based
on julian or some other arbitrary scheme that is not commonly used or
known. It basically makes the dates look like any other int32.

HTH,
m

__________________________________________________
Delphi-Talk mailing list -> Delphi-Talk@elists.org
http://www.elists.org/mailman/listinfo/delphi-talk

Reply via email to