Skip to content

Instantly share code, notes, and snippets.

@CoolOppo
Created April 21, 2014 06:50
Show Gist options
  • Save CoolOppo/11134321 to your computer and use it in GitHub Desktop.
Save CoolOppo/11134321 to your computer and use it in GitHub Desktop.
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