Advertisement

teasing hackers

Started by January 18, 2003 12:44 PM
104 comments, last by walkingcarcass 21 years, 11 months ago
quote: GBGames asks:
What about legitimate uses of cracks?

Hear, hear!

Every game I''ve purchased in the last few years has one of those "make sure the CD is in the drive" protection schemes. I bought the game, I should be able to use it however I please. Preferably without the whines of the spinning up and down. Even with a mere 6G HD, I can fit all your program data on my drive.

In terms of copyrights, yeah, I can understand wanting to hurt the cracker. But from the other side of the fence, don''t discourage real consumers who have paid for your product.

Again, it all depends on what kinds of "cracks" the original poster was concerned about. No CD cracks? Whatever. Trainers, saved game editors, or reg key cracks? Fire up the furnaces, if that''s what you''re fighting.
So your trying to make it so that if a crackers detected the game is somehow altered as to make it unplayable... however its altered in a way that won't be readily detected?


Heres what I would propose:

In the single player game if a cracks detected I would try the following:

The enemies difficultly level is ramped up after a random amount of time. That way the cracker will need to test the game for a minimum amount of time (about 2 hours) each attempted hack to see if its gets to difficult.

However the next trouble comes here: Does this value get saved? If it doesn't than the player must simply save->reload every so often and play the whole game. If it is, the hacker can save just before the difficulty ramp and then load that and wait 5 minutes to see if it ramps or not.

Solution: Save the number of times a save game was loaded. And also save the ramp-up time minus 5 minutes. If the same save game is loaded twice, reset the ramp time to zero (the cracker will think his crack worked and release it =). If he is progressing and saving, save the new save file over the old one (so its loaded 0 times) he still keeps adding on 5 minute increments to his save so pretty soon it will be over the ramp-up time limit.

Games with a ramp-up time limit approaching or past keep act as if the player has cracked the game, even if he hasn't. This ensures that save game files that have been made with a cracked version cannot ever be used.


That should piss them off; 2 or more hours of testing time for each compilation of the crack should deter all but the most dedicated cracker.

[edited by - Wildcorn on January 24, 2003 12:12:26 AM]

[edited by - Wildcorn on January 24, 2003 12:13:25 AM]
Advertisement
Sorry GBGames and Merle, but your minority will suffer inconvenience in order to put a stop to the hundreds or thousands of illegitimate users. is say the gains from anti-crack protection outweigh the troubles of a few legitimate players.

btw if your laptop is old enough to not have a cd drive, how is it going to play the vast majority of modern titles?

********


A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
spraff.net: don't laugh, I'm still just starting...
Merle & GBGames:
yea I know what your saying. I do a lot of lan parting. Alot of the time I forget to bring a cd (or didn''t know we were going to play that game), and I don''t like bringing them in the first place (they get scratched & such). So I use no cd cracks alot (just about every game I got has them). But I agree with walkingcarcass. The good out ways the bad here.


Where to submit cracks on the net (other than kaza and the likes)? Do a search on google =) and friends. they''res lots of websites that have cracks of all kinds. when you find them, have like 10-15 e-mail addressess to do it with, but anyways just e-mail offering a "crack" for such and such game. These guy''s don''t write all the cracks they have on they''re site. Just pose as another cracker offering the patch. You could extend this idea to "full" copies of you game. Take your shareware put some blot into it (so its the same size as the real full copy), and distribute this.


Continuous updates. Yes forcing people to update they''re game for no other reason than to fix cheating is going to piss people off. What you could do is make them WANT to update. Say create a monthly release with things in it they''re going to want. Say a new sword, new levels, new go-fast-parts(racing games). This way they have they''re choice eather buy a ligit copy and update or continue playing the pirated copy with these "crapy" weapons.

I''m not saying to make version 1.0 weak, release it in its full glory, then just add to it. Some types of games this will work out great others it wouldn''t. And of course when you do release updates make shure to shift things around (to no ingame effect) so the cracks have to be rewritten each release.

This realy compliments the fake crack idea. At websites after awhile your fake cracks will be removed because people start to realize that they don''t work. So what you do it create a new fake crack for each release, wait a few days then start submitting it again (with new e-mail addresses).
The Great Milenko"Don't stick a pretzel up your ass, it might get stuck in there.""Computer Programming is findding the right wrench to hammer in the correct screw."
I just thought I''d add this guy''s open letter to the game industry to the discussion. I''ve emailed him a bit about some stuff, but he talks about how legitimate owners get hurt by anti-pirate schemes.

Superpig
- saving pigs from untimely fates, and when he''s not doing that, runs The Binary Refinery.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Very true hackers are intrested in computers in the meen of exploring the limitless possibilities of a computer.While crackers are in it just to steal,destroy,make computers unuseable for their owners.While both kinds of people will always find a way around and kind of protection that can be made.The idea of irritating people who wish to cheat at any kind of game should be annoyed beyond belief.I say this only because I wouldn't wanna spend months writing a program just to have someone make all my efforts seem pointless.

Just my 2 cents.

Zero_Cool
Begginer now.
Destined to wield the unimaginable power of code!

[edited by - Zero_Cool2003 on January 25, 2003 8:58:44 PM]
Zero_CoolBegginer now.Destined to wield the unimaginable power of code!
Advertisement
quote: Original post by Spoonster
Well, if you ever played Frontier (Elite II), you should be able to get a bit of inspiration there...

Basically, it works like this: From time to time, when you land in a spaceport, the police comes up to you and asks you to "prove that you''re the rightful owner of your ship" *hint hint*. So you enter some letter from the manual, and the game continues



This used to really bug me since you had to count the words and if you miscounted you have to do it ll over again a real pain in the arse and a waste of time for the player. might be hard to crack but in this day and age someone would scan it and just supply it in a txt file with the hacked version.


About entering words/letters from manuals:
quote: Original post by Themonkster
This used to really bug me since you had to count the words and if you miscounted you have to do it ll over again a real pain in the arse and a waste of time for the player. might be hard to crack but in this day and age someone would scan it and just supply it in a txt file with the hacked version.

What do you mean, in these days? That''s the same solution they often used 20+ years ago. ;-)

After all, the game is more playable with the manual, and the "crack" requires nothing more than OCR software.
quote: Original post by superpig
I just thought I''d add this guy''s open letter to the game industry to the discussion.


we should all read that letter (it isn''t long). the three important issues are performance, stability and frustration.

frustration can be avoided with a little thoughtful design.

not all anti-crack techniques are performance-inhibiting: checks are only taken under certain conditions, these conditions are quick to test and the low-performance checks (cd examination etc) can be done less often.

as for stability, this *really* should be a no-compromise priority anyway.



i''ll soon be posting a summary of all the ideas people have submited so far. does anyone have links to post-your-own-crack sites?

********


A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
spraff.net: don't laugh, I'm still just starting...
quote: Original post by walkingcarcass
not all anti-crack techniques are performance-inhibiting: checks are only taken under certain conditions, these conditions are quick to test and the low-performance checks (cd examination etc) can be done less often.

as for stability, this *really* should be a no-compromise priority anyway.


Agreed. I think I might post the email conversation I had with this guy, if I get his permission.

The concept that security should be an underlying ''mantra'' rather than an ''add-in component'' is important.

If a game is made totally independent of it''s security component - and, with a software factory, that''s the case; all components are meant to be largely independent of each other - then cracking or removing the component doesn''t affect the rest of the game in any significant way.

However, if you have security throughout the game, then they need to crack the entire game; cracking one procedure or check somewhere might get them past one bit, but if the rest of the security system is either depending on or working with that component, then they''ll have to crack the rest of the security system too.

I was discussing a bit of this with glassJAw last night, and we figured out some stuff.

Firstly, you can checksum game data files and dlls to make sure they haven''t been tampered with. The problem is that if a hacker does tamper with them, all they have to do is update the checksum... so here''s what we figured out.

You could create a resource in your executable of, say, 1024 bytes of garbage. Then you store the checksum (or serial number, whatever) in there. Because you move it around each time - that is, each time the exe loads it reads in the resource, gets the checksum out of it and then re-encodes it in a different way - it becomes very difficult to crack. If you then have that number being checked throughout the game - using a highly-optimized checking function which you inline, so they can''t just crack one instance of the function - then they can''t mess with the number loading/saving code; the best they can do is mess with the number itself.

So, my weird funky encoding: you treat the 1024 bytes as a ''rectangular array,'' with row+column sizes that you specify yourself for each app. You then pick numbers for ''opcodes'' - ''up,'' ''down,'' ''left,'' and ''right,'' along with ''destination.'' Then, it follow a lot like Befunge; starting at a fixed point, you follow the opcodes until you arrive ate the ''destination'' code, which tells you how many bytes to move in the current direction to get to the number. All unused bytes are filled with garbage (containing a relatively high proportion of opcode values).

So it means that even if the cracker figures out which the ''destination'' opcode is, they still would have to trace the whole thing from the beginning to find out which direction to move from there.

It''s not uncrackable - a cracker could write a program to read the resource, specifying width and opcode values, to get it to trace to the number; but still, that''s pretty damned secure.

Superpig
- saving pigs from untimely fates, and when he''s not doing that, runs The Binary Refinery.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

This topic is closed to new replies.

Advertisement