   exe cracking prevention
  Well, my first ever shareware game was released approximately a week ago, and yesterday I found out it has been cracked.  I haven''t even sold one copy yet and the b***ards have cracked it.They didn''t bother cracking the registration system, they simply cracked the exe file to bypass the registration checking.So Can someone suggest some hints on exe cracking prevention please?I already know the one good method - which is to add multiple checks throughout the game, but what others are there?   ------------------------------------------[New Delta Games] | [Sliders] 
  One solution is to release a limited version of your software and send them the full ( or have them download it ) after they registered. You can even nail down the person who leaked your full version by modifying a "serial number" in the data section ( assuming you don''t sell 10000 copie ) but then, I don''t know what you could do about it afterward ...;quote:Original post by Damocles  So Can someone suggest some hints on exe cracking prevention please?somehow this questions is coming up alot and the only answer i have "if you could, why would the big companies watch their games being cracked a week before they come out?";  I know it's impossible to prevent them 100%, but at least adding in some deterrents might help.EDIT: just a thought - what about hardcoding file size checks.  Build the release version, note the size and hard code it into the program so at multiple stages it checks the size of the exe against the size in the program.I can't think of any reason why the exe file would need to change size ever, so I think it's a pretty safe check to add.  Can anyone think of why this would be a bad idea?  Do any of the windows systems alter exe files for any reason?   [edited by - damocles on July 30, 2003 7:45:05 AM];  No.. But this wont help you because any cracker with a little knowledge would crack this in 1-10 Minutes..GreetsJulien ;  For one thing you should not give the whole thing away.Publish a watered down version, having maybe a level or two.Then to get the whole thing they must register and download the rest (or maybe some levels more incase you want to sell levels, depending on how good your game actually is)You should also implement some random checks at different levels or when doing something at a certain point in the game. Of the check fails the game silently takes things away. This must go unnoticed so that it takes time to figure out that something is not as it should be. Just hide things that is required to solve a puzzle or something. Then they would have to look through your whole code and that is not fun at all. You could even require the game to be intact in order to decrypt the next level or the decryption will fail. Then they would have to decrypt every level in turn first in order to crack it. Then together with silent checks it will still fail.They will still crack it eventually, and probably love you for putting up a fight but at least you bought yourself some time.   ____________________________________________________________Try RealityRift at www.planetrift.comFeel free to comment, object, laugh at or agree to this. I won't engage in flaming because of what I have said. I could be wrong or right but the ideas are mine. [edited by - MichaelT on July 30, 2003 7:53:42 AM];  MichealT, some good ideas there.  I especially like the idea of encrypting level data.  Of course, this only applies if the games uses levels, but a good idea none the less.quote:No.. But this wont help you because any cracker with a little knowledge would crack this in 1-10 MinutesWhat I was thinking was combining it with the registration system.  Most crackers will go straight for the registration checks and attempt to bypass them.  If the exe size check is relatively silent and starts to screw the game up in subtle ways, then it''s much less likely that they will assume it''s a size check.  Although file monitors would let them know you are accessing the file - I wonder if there is a way to check the size of the exe once it''s in memory.  They would have no way to know you are doing that without tracing through a lot of code.But there I''m not sure of the reliability.  Is it definite that each time the exe is loaded, it is loaded into one continous segment of memory and will always be loaded in as exactly the same size?  Would the OS have anything to do with the program loading and execution? ;  you should stop thinking about the technical things, because there will always be a way to crack it.i would see this rather from a business point of view. does it really harm your sales if the game is cracked?most fair-minded people wanting to play your game will get the game from your websites and from official download sites, not everyone out there is a evil software pirate.crack- and copy protection for the games from the big companies certainly is a problem, but as a shareware developer i would just follow all the crack sites silently and only do something if you *really know* that your sales are badly influenced because of the cracked versions. (i don't know how to figure that out excactly, but maybe there's some way)there was some similar discussion on the dexterity forum some time ago, definately worth a read. [edited by - morebeer on July 30, 2003 8:23:10 AM];  Don''t waste your time on coding some trivial protections inside the game if your primary protection (registeration key) isn''t safe.Usually crackers modify the exe that registration process accept any key inserted, but when they detect any other protections they just sniff the real key using SoftIce or similar program.Then they have the real key, so all your other protections are disabled and your time has gone waste.Instead you could code registration that accepts any key they insert, but only the correct one decrypts some data that is crucial for full working version. Then crypt every copy of the with different key, so they need to buy one working version and start spreading that one.This won''t stop ''em, but they''d need to buy atleast one copy, so you are the winner But the main idea is that don''t waste your time on coding many layers of protections, because they wonät protect against sniffing. Vikke Matikainen ;quote:Original post by Kosmo  Don''t waste your time on coding some trivial protections inside the game if your primary protection (registeration key) isn''t safe.Usually crackers modify the exe that registration process accept any key inserted, but when they detect any other protections they just sniff the real key using SoftIce or similar program.Then they have the real key, so all your other protections are disabled and your time has gone waste.Instead you could code registration that accepts any key they insert, but only the correct one decrypts some data that is crucial for full working version. Then crypt every copy of the with different key, so they need to buy one working version and start spreading that one.This won''t stop ''em, but they''d need to buy atleast one copy, so you are the winner But the main idea is that don''t waste your time on coding many layers of protections, because they wonät protect against sniffing. Vikke Matikainen   Which is why keys for anything but online gaming or services is a bad thing. He could actually even have levels on a server that will be downloaded when a level is finished (or in batches) the catch is that you need a valid registered key. Then any keygen in the world won´t help them.   ____________________________________________________________Try RealityRift at www.planetrift.comFeel free to comment, object, laugh at or agree to this. I won''t engage in flaming because of what I have said. I could be wrong or right but the ideas are mine.