Advertisement

teasing hackers

Started by January 18, 2003 12:44 PM
104 comments, last by walkingcarcass 21 years, 10 months ago
How does triscuiting work - SO I CAN STOP IT!

Worth checking out if you haven''t seen it.
I propose the new word "Dolorem" to describe the type of person that makes cheats and/or circuments game mechanics and logic (such as eliminating cd checks, or exploiting loopholes in the game). While "triscuit" works, it just doesn''t have the same feel.

In case you cared, I got "Dolorem" from a program I made that uses 4th order character statistics and fed it ~1MB of latin text, and randomly selected lines from the output file(the prog outputs around 10000 `words` randomly generated form the statistics) until I found that was neither too long nor too short that had a nice flow.

By coincidence, "Dolorem" is an actual latin word and means "pain, anguish, grief, sorrow; resentment, indignation" which is pretty funny cuz I didn''t look it up before I picked it from the list. =-)
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Advertisement
Jesus, people.... when did the Jargon file become some sort of freaking International Standard? 99% of people who talk about "hacker" mean someone who uses computers maliciously, including circumventing copy protection. So that''s what the word MEANS. Just because all you programmers think the word sounds cool and want it to apply to only you doesn''t make it the case. Language is DEFINED by popular use.

Don''t listen to me. I''ve had too much coffee.
Silly Sneftel, language is defined by ANSI =-P
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
let some of the code be shuffled (to no effect) at compile-time according to the version number. also, only about 1/6th of the crack checks actually compile in any givern version.

release a (slightly diffent) version frequently but everyone must have the new version in order to play online

if a new version was released every 20 days, say, it would take a while to re-write all the cracks. if any regular users mysteriously stop playing for the few days after each new release, be suspicious.

********


A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
spraff.net: don't laugh, I'm still just starting...
one or more variable is kept which is an offset into the code. each time the client/server communicate, the server sends a new offset. all communications are encrypted according to data at this offset.




this is getting perhaps too technical for this thread.




how about if a crack is detected, sound, textures etc are mis-loaded. several minutes into the background music, it starts to crackle and eventually degenerates into white noise.

spawn loads of new ultra-tough enemies in an as-yet unseen part of the map

disable the built-in cheats (like god), crackers are unlikely to check if "summon armour" still works.

disable saving and loading

save and load corrupt

thats all for today, my brain hurts

********


A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
spraff.net: don't laugh, I'm still just starting...
Advertisement
Online games are not the point. You always can connect to a server and check the cd-key against a database (i know blizzard did with starcraft, diablo ii and diablo expansion, also HalfLife logs to a mainserver first and checks the serial number).
Or enforce the Player to update every 2 Weeks to enforce a new code-modifying every 14 days. But this would be anoying to the player as it would be to the hacker/cracker/whatever.

so how to stop single-player games is the question.
You can''t enforce a single player game to be updated regulary, and also you do not have a server to ask for valid serial number.
as mentioned here already is make it hard and time consuming to check if a no-cd patch worked properly is a great solution.
Settler for example modified the output of the factories, so a gold mine for example supplied you with stone.
If you needed gold to complete a mission, all looks fine, but once you reacht the point to finish the mission, you notice the crack didn''t work.
Or remove some powerups you need to finish the big boss of level 3.
that way a no-cd patch has to be tested by playing the first three levels before anything happens.
so everything that needs some time to test if you have tricked it will work.
I also suggest you put in multiple tests in different functions, all removing a different powerup or the like.
That way you still can''t tell if your patch works if finally worked around of one cd-test.
spread your tests over the code, and also spread the effects on gameplay wide.
Fail on Serial Number removes powerup 1.
Fail on original CD-Test removes powerup 2.
and so on.
-----The scheduled downtime is omitted cause of technical problems.
Why not take another tip from Spryo and remove a key element to the game. For example, you have a stage where you need to find the 8 pieces of triscuit, but if the game has been tampered with, then one of them might be missing. Most people that work on cracks for games just load the game up, run around a few seconds, and assume it to be fine. Don''t think this will be a permanent solution by itself though.

The point isn''t to make it impossible to create a crack (I''d like to see you try that one) but to make it very frustrating and time consuming to do so.
I don''t know if it is a good idea to make your game impossible or near-impossible because it''s been cracked without actually telling the user why it is happening. If it is as subtle as not being able to find nesesesary power-up or something like that the user might find that the game is impossible and not even consider to buy the real thing, where if they find that they like the game, but it goofs up at one point and lets them know that the game they are playing is cracked, they might just go ahead and buy the game. I know a lot of people, including my self who have downloaded patch software so that they can test the game and when they find out they like it, they go out and buy it.

One other idea that I thought of that might be a good idea... not sure though... is release patched versions of your game onto kazaa, crack search engines, ect. Basically flood the internet with fake cracks. Let the user know after they play for 2 hours, that the game is a patch and just have it stop working or work at a very worthless level or with all of those other defects you guys have thought of. This way, it is a pain for users to find patches. This worked with Tom Petty''s new CD... different media type, same idea. He somehow has servers on kazaa that are incredibly fast hosting his songs which are really just the first 30seconds of his song repeating for 4, 5 minuts. This way the person who obviously wants his music downloads his music finds that they really like the beginning of the song, but kind find anybody with the real version so goes out and buys it...

Just some thoughts

500 error x 3

"The only thing worse than not having that new _______ , is when some rich kid has it, but can''t and/or doesn''t appreciate it."-me
Tazzel3d ~ Dwiel
I like the ideas relating to time based disadvantages, as they are harder for the cracker to evaluate if there crack has been effective.

How about not deallocating memory if a cracked version has been detected. Not everywhere, just something small yet repetitive. As the user progresses some data structure is created and eventually all references to it are deleted, but the memory itself is intentionally never deallocated. You would get different results based on how the user played, so it would be less concrete for the cracker to detect. The game wouldn''t stop working, but when all of your memory finally fills up and the OS starts paging with swap things are going to suck. Another twist would be not to deallocate large pieces of memory 10% of the time, or similar to that effect.

The detriment to this being that people might not realize its running slowly because of the crack, but...you could easily put out a press release on your website a week after release saying that the cracked version has been found to break the game''s copyright by exploiting memory leaks, and put this in the FAQ as well.

"Why does SuperTetris37 run slower the longer I play?"
Cracked versions break the memory management, make sure you have a legally purchased copy.

Now you have informed the user, you also basically stated that you know they are using a cracked version, you can easily track how many people click that question from the faq and get a general idea on the percentage of users that are using a cracked version, you can keep a list of ip addresses that access that question as well (if you really cared), and--best of all--the cracker thinks his crack isn''t 100% correct and so wastes time trying to find a better crack.

What do you think?

The Tyr project is here.
The Tyr project is here.

This topic is closed to new replies.

Advertisement