teasing hackers
Yeah, mutiny. When you are out in the battlefield, you suddenly hear the ''your base is under attack!''-sound. You scroll to your base and half your army is shooting at their own buildings! It is very effective, but I guess it isn''t hard to find in the code of the executable file. Simply search for the ''attack building''-subroutine, and bypass it.
February 01, 2003 12:21 PM
quote: Original post by DanielPharos
Yeah, mutiny. When you are out in the battlefield, you suddenly hear the ''your base is under attack!''-sound. You scroll to your base and half your army is shooting at their own buildings! It is very effective, but I guess it isn''t hard to find in the code of the executable file. Simply search for the ''attack building''-subroutine, and bypass it.
If you found the attack building subroutine and bypassed it you couldn''t attack your enemy either, you could have a friendly fire check though.
Might help
http://www.gamasutra.com/features/19970707/security.htm
Personally, disappearing units seem best to me!
Here''s an idea,
Make several dummy DLL''s for your game. Never remove them if there is an uninstall. Make sure these are small DLL''s. If you detect a cracked version, fill the DLL with garbage. The program will crash everytime it tries to load the DLL. If the DLL can''t be loaded rewrite a few bytes of system memory. The system will randomly crash and the cracker will take a while to catch on to what you are doing. You could add several DLL''s and several checks at multiple points. Even better, don''t corrupt system memory, corrupt small bytes in the game''s EXE file or working DLL''s. Cracker would be pretty mad! When he/she did a reinstall, the problem would slowly pop back up.
This isn''t legal, but you could write code that causes the system to randomly display a "ABC Adventures is a good game, you want to buy it. Cracking is evil." type message. You would have to modify other EXE''s or system files though, and I''m pretty sure (read 99.999%) this is illegal
That''s my two cents.
PS. I''m gamerdude, too lazy to log in
If you gonna alter others exe''s,there''s a big chance that anti-virus programs think your prog is a virus.
You could also mess up the physics code so the world eventually falls apart...
class Vector3D {
// blah blah blah...
inline scalar length () {
return -0.2f*(!(rand()%5) && gameIsCracked) + sqrt(x*x + y*y + z*z);
}
// blah blah blah...
}
And add more obfuscation to your liking (if its confusing looking in C++, it'll make less sense in [dis]assembly)
Not all checks require an easy to detect if statment to work as long as you have "quiet" detection...
Just a thought.
[EDIT] changed order just in case due to lazy operator
______________________________
And the Phoenix shall rise from the ashes...
--Thunder_Hawk -- ¦þ
______________________________
[edited by - Thunder_Hawk on February 1, 2003 5:12:16 PM]
class Vector3D {
// blah blah blah...
inline scalar length () {
return -0.2f*(!(rand()%5) && gameIsCracked) + sqrt(x*x + y*y + z*z);
}
// blah blah blah...
}
And add more obfuscation to your liking (if its confusing looking in C++, it'll make less sense in [dis]assembly)
Not all checks require an easy to detect if statment to work as long as you have "quiet" detection...
Just a thought.
[EDIT] changed order just in case due to lazy operator
______________________________
And the Phoenix shall rise from the ashes...
--Thunder_Hawk -- ¦þ
______________________________
[edited by - Thunder_Hawk on February 1, 2003 5:12:16 PM]
______________________________________________________________________________________The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ"So. Any n00bs need some pointers? I have a std::vector<n00b*> right here..." - ZahlmanMySite | Forum FAQ | File Formats______________________________________________________________________________________
I''m still a fan of gradually decreasing the number of seconds in a minute. It probably wouldn''t be easy, but it would be cool.
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
quote: Original post by superpig
I''m still a fan of gradually decreasing the number of seconds in a minute. It probably wouldn''t be easy, but it would be cool.
What do you mean?
______________________________________________________________________________________The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ"So. Any n00bs need some pointers? I have a std::vector<n00b*> right here..." - ZahlmanMySite | Forum FAQ | File Formats______________________________________________________________________________________
quote: Original post by Thunder_Hawk
What do you mean?
Given that the usual number of seconds in a minute is 60, a minute:second counter would use for(;seconds>=60;seconds-=60,minutes++); each update.
You change that to for(;seconds>=n;seconds-=n,minutes++);. In a normal (uncracked) version, n is always equal to 60. But in a cracked version, n decreases over time. So the clock counts ''1:48... 1:49.... 2:00.''
Imagine how much trouble this would cause in a racing game.. trying to beat par times but being unable to do so, having an automatic disadvantage in respect to online scoreboards, and so on.
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
Ahh, I see...I couldn''t figure out why it would be critical to have that number in the first place. That would be a very dirty trick, although a bit obvious. How about:
Seconds += 1.125f*deltamilliseconds/1000; // Hmm where''d those 7 seconds run off to?
Seconds += 1.125f*deltamilliseconds/1000; // Hmm where''d those 7 seconds run off to?
______________________________________________________________________________________The Phoenix shall arise from the ashes... ThunderHawk -- ¦þ"So. Any n00bs need some pointers? I have a std::vector<n00b*> right here..." - ZahlmanMySite | Forum FAQ | File Formats______________________________________________________________________________________
February 01, 2003 05:54 PM
quote: Original post by walkingcarcass
technical details aside, assume you are working on a game engine designed to deter hackers. assume one feature is to delay expression of a detected cheat, making it harder to work out whether the hack worked.
assume to create this delay, we corrupt or somehow alter the game behaviour so as to make it unplayable after a while. (to avoid pissing off potential customers, a crack detection message is eventually displayed to point out the game is hacked, not bugged.)
what imaginitive things could be done in the meantime which are A) subtle, and B) likely to make the hacker REALLY angry?
********
A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
Check out the Gamasutra article on Spyro: Year of the dragon, and how they attempted to implemented such a system.
we all should have read the spyro thingy by now
i am asking for imagination here, not parroting. crack DETECTION is a whole different kettle of fish. the issue here is crack detection RESPONSE
********
A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
i am asking for imagination here, not parroting. crack DETECTION is a whole different kettle of fish. the issue here is crack detection RESPONSE
********
A Problem Worthy of Attack
Proves It''s Worth by Fighting Back
spraff.net: don't laugh, I'm still just starting...
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement