Knight Posted August 18, 2005 Posted August 18, 2005 Hi all,I made a snake-like game that counts up your score and then posts it on a hi-score board and I want to implement some kind of "hack prevention." Using a memory editor such as tsearch people are able to edit their score and cheat. I also have hidden features in the game that require a password to access the content, but using some debuggers or hex editors people can get the passwords without much work. To prevent this, I was thinking of scanning open processes every once in a while for a known debugger and then exit if its open, but that is limited because there is such a wide variety of memory editos, hex editors, and debuggers out there. Another Idea was to check for rapid increase in score in a short amount of time; but this idea is flawed due to game design and memory usage.Does anyone have any ideas on how I could check if my script is being disassembled or "hacked" in any way?Thanks in advance, James Knight
/dev/null Posted August 18, 2005 Posted August 18, 2005 (edited) I made a snake-like game that counts up your score and then posts it on a hi-score board and I want to implement some kind of "hack prevention." Using a memory editor such as tsearch people are able to edit their score and cheat. I also have hidden features in the game that require a password to access the content, but using some debuggers or hex editors people can get the passwords without much work.I have a first idea for a "solution" for your highscore problem. Use an array to store the highscore and use adlibenable to change the position of the value within the array every 500 ms. So, if someone wants to change the value of the highscore (in memory), he has to be fast, as the position changes rapidly. However, if the hacker/cheater uses a debugger and sets a break point somewhere, you are lost again, as he has plenty of time to change the appropriate values.WARNING: All untested !! Just typed into a notepad...const $MAXVAL = 20 dim $glb_highscore[$MAXVAL+1] global $glb_highscore_pos = 0 AdlibEnable("rotate_highscore",500) func rotate_highscore() local $iCounter, $highscore $highscore = $glb_highscore[$glb_highscore_pos] for $iCounter = 0 to $MAXVAL $glb_highscore[$iCounter] = 0 next $glb_highscore_pos = random(0,$MAXVAL,1) $glb_highscore[$glb_highscore_pos] = $highscore endfuncTo access the highscore you can use a function like this:func access_highscore() local $iCounter, $highscore AdlibDisable() $highscore = $glb_highscore[$glb_highscore_pos] for $iCounter = 0 to $MAXVAL if $glb_highscore[$iCounter] <> 0 AND $iCounter <> $glb_highscore_pos then AdlibEnable("rotate_highscore",500) return -1; --- FATAL ERROR - STOP program !! next AdlibEnable("rotate_highscore",500) return $highscore endfuncCheersKurt Edited August 18, 2005 by /dev/null __________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf *
Knight Posted August 19, 2005 Author Posted August 19, 2005 Great idea. I will toy around with it and implement it and see how it goes. Thanks alot. I am still open to hear anymore ideas on this subject. -JK
B3TA_SCR1PT3R Posted August 19, 2005 Posted August 19, 2005 (edited) just curious...but why would one need a password protector for a snake type game.you are talking about the snake games that you might find on a cell phone right? why not just hide a .txt file somewhere on the harddrive...and list the scores? and rename it like (C:\WINDOWS\System32\rte3r.txt) then if u really need security you can just use command prompt and do "rename" and turn the .txt into a .34r or watever so the user wont know wat it is? Edited August 19, 2005 by B3TA_SCR1PT3R [right][font="Courier New"]...Run these streets all day, I can sleep when I die.[/font] [/right]
Knight Posted August 19, 2005 Author Posted August 19, 2005 just curious...but why would one need a password protector for a snake type game.you are talking about the snake games that you might find on a cell phone right?why not just hide a .txt file somewhere on the harddrive...and list the scores? and rename it like (C:\WINDOWS\System32\rte3r.txt)then if u really need security you can just use command prompt and do "rename" and turn the .txt into a .34r or watever so the user wont know wat it is?<{POST_SNAPBACK}>it has hidden features that need to be unlocked. When player achieves a certain goal, it gives them a password, that when put in the password box will unlock or change something in the game.Using a memory editor you can change the score as you are playing, so it uploads your score wrong from the beginning.
B3TA_SCR1PT3R Posted August 19, 2005 Posted August 19, 2005 ohhhhhhhhhhhhhhhhhhhh now i get ya i thought you were just trying to protect like 1.Name -- 10,000 those type sk0r3s [right][font="Courier New"]...Run these streets all day, I can sleep when I die.[/font] [/right]
rakudave Posted August 19, 2005 Posted August 19, 2005 md5 'd be nice, but there's nothing like it in autoit... Pangaea Ruler new, UDF: _GUICtrlCreateContainer(), Pangaea Desktops, Pangaea Notepad, SuDoku, UDF: Table
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now