PureVALID library : check an EXE integrity at runtime
Posted: Thu Mar 11, 2004 10:44 am
PureVALID library
What for ?
PureValid is a library with one function : PureValid_CheckFile(Key.s)
It is intended to check an EXE integrity at runtime, by calculating a fingerprint and comparing it to a validation info located at the end of the EXE.
This validation info is generated by PureValid.exe (included) or PureUPX.
How ?
1. In your application YourApp.pb, only add one line :
PureValid_CheckFile("YourEncryptionKey")
or
Valid = PureValid_CheckFile("YourEncryptionKey")
; Valid = 1 if EXE is valid,
; 0 if EXE is corrupt (program stops)
2. Compile your application as usual
3. Validate your application with PureValid.exe :
PureValid YourApp.exe "YourEncryptionKey"
4. It's done. Now if something / someone changes your application, it does not run anymore. Try to change it's name or patch it, and see the result.
Note (1): you can also use PureUPX to validate your application after compressing (+/- scrambling). If the PureValid library is installed, you will see an extra PureValid section when you start PureUPX.
Note (2): it's only an integrity check, without any anti-debugging tricks, so it's a very lame protection against hackers...
Download library:
Only available for Purebasic Windows x86
PB3.94 : http://gnozal.ucoz.com/PureValid.zip
PB4.00-4.10 : http://gnozal.ucoz.com/PureValid_.zip
PB4.20 : http://gnozal.ucoz.com/PureValid___.zip
PB4.3x : http://gnozal.ucoz.com/PureValid_430.zip
PB4.4x : http://gnozal.ucoz.com/PureValid_440.zip
PB4.5x : http://gnozal.ucoz.com/PureValid_450.zip
PB4.6x : http://gnozal.ucoz.com/PureValid_460.zip
PB5.0x : http://gnozal.ucoz.com/PureValid_500.zip
PureUPX :
http://gnozal.ucoz.com/PureUPX.zip
(see viewtopic.php?t=9030)
Other libs and tools at http://gnozal.ucoz.com/
What for ?
PureValid is a library with one function : PureValid_CheckFile(Key.s)
It is intended to check an EXE integrity at runtime, by calculating a fingerprint and comparing it to a validation info located at the end of the EXE.
This validation info is generated by PureValid.exe (included) or PureUPX.
How ?
1. In your application YourApp.pb, only add one line :
PureValid_CheckFile("YourEncryptionKey")
or
Valid = PureValid_CheckFile("YourEncryptionKey")
; Valid = 1 if EXE is valid,
; 0 if EXE is corrupt (program stops)
2. Compile your application as usual
3. Validate your application with PureValid.exe :
PureValid YourApp.exe "YourEncryptionKey"
4. It's done. Now if something / someone changes your application, it does not run anymore. Try to change it's name or patch it, and see the result.
Note (1): you can also use PureUPX to validate your application after compressing (+/- scrambling). If the PureValid library is installed, you will see an extra PureValid section when you start PureUPX.
Note (2): it's only an integrity check, without any anti-debugging tricks, so it's a very lame protection against hackers...
Download library:
Only available for Purebasic Windows x86
PB3.94 : http://gnozal.ucoz.com/PureValid.zip
PB4.00-4.10 : http://gnozal.ucoz.com/PureValid_.zip
PB4.20 : http://gnozal.ucoz.com/PureValid___.zip
PB4.3x : http://gnozal.ucoz.com/PureValid_430.zip
PB4.4x : http://gnozal.ucoz.com/PureValid_440.zip
PB4.5x : http://gnozal.ucoz.com/PureValid_450.zip
PB4.6x : http://gnozal.ucoz.com/PureValid_460.zip
PB5.0x : http://gnozal.ucoz.com/PureValid_500.zip
PureUPX :
http://gnozal.ucoz.com/PureUPX.zip
(see viewtopic.php?t=9030)
Other libs and tools at http://gnozal.ucoz.com/