` Comment on an Icetips Article
Icetips - Templates, Tools & Utilities for Clarion Developers

Templates, Tools and Utilities
for Clarion Developers

Add a comment to an Icetips Article

Please add your comments to this article. Please note that you must provide both a name and a valid email address in order for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!

Your Name:  
Email:  
Header text/Subject:  

Please enter your comment in the box below:

Back to article list   Search Articles     Add Comment     Printer friendly     Direct link  

Windows API: CRC32 builtin Clarion function
2006-11-13 -- John E Singer
 
>> Calculate CRCs of your EXE and DLL files. Store those in encrypted tps >> files that ship with the program. At program, recalculate the CRCs and >> verify them against the tps-stored values and report something like >> "program corrupted" if they don't match. Then repeat the check >> periodically/at random from various places throughout your program. > > I like that method, it is unobtrusive and if implemented corrected > could be hard to detect. Do you have any Clarion code you can share > for calculating the CRC? MODULE('BUILTIN_32BITS') CRC32(*String Buffer, ULong Bytes, ULong crc), ULong, Raw, Name('CLA$CRC32') END ValiditityCheck PROCEDURE (*CString NameToCheck, ULong keyCRC) LOC:CRC ULong, AUTO LOC:Str String(61),AUTO returnValue BYTE, AUTO CODE LOC:Str = clip(NameToCheck) LOC:CRC = CRC32(LOC:Str, len(LEN:Str), 0) returnValue = Choose(LOC:CRC = keyCRC, TRUE, FALSE) RETURN returnValue This is exactly the method I use. At install time, the name of the company is stored in a read-only field and then used to calcuate a CRC and that value is stored in an encrypted TPS file. On startup, it passes the name of the company, does a CRC on it and compares it to the CRC that is stored. If they are different, then the name of the company has been altered and the program halts with a message. I'm sure there are more complicated and more secure ways of doing this, but for 99.999% of my customers, this more than adequate.


Today is November 21, 2024, 7:20 am
This article has been viewed 35230 times.
Google search has resulted in 86 hits on this article since January 25, 2004.



Back to article list   Search Articles   Add Comment   Printer friendly

Login

User Name:

Password: