Click to See Complete Forum and Search --> : Preventing Hackers from Cracking your Program


RogerThat123
July 3rd, 2009, 02:10 AM
So I have got this application I developed and I sell it, its protected by Hardware ID. Using GetVolumeInformation so its locked to that specific computer. If theres no match, the program will just exit by using ExitProcess(1); However hackers can easily get by this by jmping this and other stuff. I was wondering what the best packer was to prevent hackers from doing things like this. I heard themida is decent but it slows your code down a lot. So what is the best?

Also, what would be more secure, reading the Hardware ID's from a text file on my server or simply inputting the ID's into variables in the code?

binyo66
July 3rd, 2009, 05:26 AM
IMO, if we put the protection in the beginning of the program (such as during initialization), it is easier been cracked. If we put it in the middle of operations, random by timer, i think is harder, also force reboot everytime the key is not matching, if necessary delete your program, force installation (it slows the cracker down).
About the key, I dumb the key in the file, using my own encryptions (obviosuly wont be able to sell in us), I just dont trust commercial encryption.
This is just opion :d, and so far I just build for internal company.

RogerThat123
July 3rd, 2009, 06:00 AM
Alright, thanks for the tip. Ill put it in closest to the middle as I can get using a random timer.

But can you suggest any programs I may use, that are better than Themida. if any

Teranoz
July 3rd, 2009, 06:17 AM
If crackers find it useful enough they will crack it anyway.
Its only a matter of time.

RogerThat123
July 3rd, 2009, 01:59 PM
Keep in mind that these arent really that good of reverse engineers. Ive used themida a while and its been fine, but it makes my program very large, 5 times the original size and it slows the code down..

So im just looking for another option.

STLDude
July 3rd, 2009, 02:30 PM
There is always an option to validate with server side, like quite few PC games do. Granted, there must be internet connection present, so YMMV.

RogerThat123
July 3rd, 2009, 04:29 PM
Yes, but they can easily jmp the check and jmp where the program exits....

this is what i need to prevent

STLDude
July 3rd, 2009, 04:47 PM
Not as easy as you think, many games even the single player ones require you to validate every time you want to play (and there is allot players trying to hack them). There is quite bit of literature on this subject with extensive research which can explain far better then I can. You can look for server side validation application.

dglienna
July 3rd, 2009, 11:03 PM
Try to runs this a second time when you're ofline:

http://siokonline.com/publix/publish.htm Needs IE, but works with IE8

RogerThat123
July 4th, 2009, 03:25 AM
PSL DGLIENNA What is that link for?


I am not up to developing a whole server side validation application, Im not that good of a programmer. Just an amateur looking to find a good packer to protect his program. Yes it is as easier as I think, my program that was not packed before has been cracked, then with it packed with TeLock, it was cracked later, and now with themida, never yet as of 3 months. But themida makes it way too large and the code runs slower..