Created
April 21, 2014 06:50
-
-
Save CoolOppo/11134321 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Step one � find address in cheat engine | |
step two � find what rights to that address | |
step three � go on olly search for address the writes that | |
Step 3.5 � by setting hardware breakpoints find where | |
the beginning and end of the code is regarding the function you were looking for | |
e.g. firing gun, this way we know where to stop searching | |
step four � reverse through all the jumps jmp e.g. JNZ becomes JE | |
step five � write comments and test a command at a time | |
step six �if the game crashes then simply return to that address leaving a comment | |
saying nop crashes or reverse crashes | |
Step seven � you will have to restart ollydbg and the game every time, it can be tedious | |
comments are very important! always put them in to make sure you know where you were last | |
Here are some guidelines in detail | |
Order in which instructions should be modified: | |
1ST all jump commands should be reversed | |
2ND all calls should be NOPED | |
If you still haven't found our function that we keep searching in | |
more complex instructions | |
3RD we now start noping any instructions we haven't tried yet e.g. MOV BYTE PTR DS:[EAX+218],BL | |
MOV BYTE PTR DS:[EAX+218],BL because because no actual instruction is getting copied | |
4TH we leave to the end the most likely ones to crash | |
E.g. MOV EAX,DWORD PTR DS:[ESI+8] | |
ADD EAX,4 these instructions are very prone to crash | |
And that's why we leave them until the end | |
If an instruction like this is NOPED then we may have to NOP | |
several others above or below it usually until we found the next call | |
this is because those instructions may use a value stored within the instruction | |
that we NOPED this may take many tries and crashes | |
Reversing of JMP'S | |
JG = JL | |
JLE = JG | |
JE = JNZ | |
This is mostly about trial and error | |
Instructions like these should be ignored(unless they are part of a group of instructions): | |
CMP � stands for compare, this is usually seen before jumps | |
LEA � is used for more advanced calculations | |
Pop, push and retn don't usually have much to do with recoil, ammo and other info we usually | |
look for. | |
Int's are usually quite irrelevant also | |
Hope that helps out | |
Fleep | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment