With my project im using MD5 digests to check if any of the files have been modified.. it has its problems, mostly being that i cant store the MD5 digest in the application because of course it changes everytime i build the application.

To make it harder to hack, i have the verifying functions in an inc file and include it in to the create events of the most classes and the a lot of other events during the creation, initialization and rendering stages of the game..

e.g.
[/pascal]constructor TuPlayers.Create;
{$include uMD5DigestVerify.inc}
begin
If DoMD5Verify(Application.ExeName) Then
Legal else
Hacked;

// do some stuff
end;
[/pascal]

It probably isnt the greatest of ideas..

--

Im adding some other ideas from what i seen in the spyro topic