View previous topic :: View next topic |
Author |
Message |
Inotamira Orani Newbie cheater
Reputation: 0
Joined: 22 Jun 2014 Posts: 12
|
Posted: Sun Jun 22, 2014 8:34 pm Post subject: How to deal with a game like this |
|
|
I've been trying to hack a game for some time now (you might have seen the two threads I've been in) and I've figured out what it does.
The game generates a random number (presumably after loading a save or when making a new character) and adds it to an existing value.
I believe it saves these values and their respective numbers in the save files as well, but this is far from what I'm working on right now.
The number is usually something completely absurd like 45682348273491, if your value is 5 then this random number would be 45682348273486.
Numbers are generated and added for all values except stackable items such as gold and the like.
What I would like to know, is if it's possible to hunt down the random number generator (the line of code that handles the number(s)) and force it to always be zero so the values turn up normal and if so, how.
|
|
Back to top |
|
 |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Mon Jun 23, 2014 1:18 am Post subject: |
|
|
Try changing the value type to Double or Float,
Also look what acsess this address and you can figure out the real one (if its not double or float, because there is just nothing to figure out)
|
|
Back to top |
|
 |
Inotamira Orani Newbie cheater
Reputation: 0
Joined: 22 Jun 2014 Posts: 12
|
Posted: Mon Jun 23, 2014 3:40 am Post subject: |
|
|
mixmax35 wrote: | Try changing the value type to Double or Float,
Also look what acsess this address and you can figure out the real one (if its not double or float, because there is just nothing to figure out) |
could you be a bit more specific? Change which number, the one I find that is the number being added? How would I go about using the number to back trace it to where ever the number being generated is at?
|
|
Back to top |
|
 |
cashd Cheater
Reputation: 0
Joined: 25 Nov 2012 Posts: 25
|
Posted: Mon Jun 23, 2014 12:52 pm Post subject: |
|
|
i can suggest you another way.
if you know where in the code it produce the pseudo random number algorithm you may patch there by ollydbg or cheat engine(i prefer olly )
if you know exactly which number is multiplyed by the random you can use ollydbg or cheat engine
in ollydbg you may try insert breakpoint on access read/write
and look at the assembly code
p.s
if you want to predict it dont use cheat engine for that, use ida pro and ollydbg
it is better tool to reverse code
|
|
Back to top |
|
 |
Inotamira Orani Newbie cheater
Reputation: 0
Joined: 22 Jun 2014 Posts: 12
|
Posted: Mon Jun 23, 2014 8:59 pm Post subject: |
|
|
The problem there is that I don't comprehend Ollydbg very well, when the game starts it winds up inside a DLL instead of the game and I really don't understand what I'm supposed to be looking for or how to watch for shifting values in it let alone insert break points
|
|
Back to top |
|
 |
cashd Cheater
Reputation: 0
Joined: 25 Nov 2012 Posts: 25
|
Posted: Tue Jun 24, 2014 1:20 pm Post subject: |
|
|
if you want to be advanced cheater and not newbie you should learn how to use ollydbg and ida pro, it is very good tool for the kind things you want to do.
you may start lena151 tutorials to understand how to work with ollydbg.
about the dll, it doesnt matter which moudle it is, you still can analyze the function.
my suggestion most of the times when i see random number in the wild they use GetTickCount() api
for example
you want to get number between 0 to 25
it should be in assembly
GetTickCount()%25
if you want try to get the same result everytime
you should patch GetTickCount to return 0 always
maybe it would do more affects to the game like speed hacks and etc
but you can check it
|
|
Back to top |
|
 |
desertricker Advanced Cheater
Reputation: 0
Joined: 20 Jan 2013 Posts: 55 Location: 127.0.0.1
|
Posted: Mon Jun 30, 2014 9:39 am Post subject: Re: How to deal with a game like this |
|
|
Inotamira Orani wrote: | I've been trying to hack a game for some time now (you might have seen the two threads I've been in) and I've figured out what it does.
The game generates a random number (presumably after loading a save or when making a new character) and adds it to an existing value.
I believe it saves these values and their respective numbers in the save files as well, but this is far from what I'm working on right now.
The number is usually something completely absurd like 45682348273491, if your value is 5 then this random number would be 45682348273486.
Numbers are generated and added for all values except stackable items such as gold and the like.
What I would like to know, is if it's possible to hunt down the random number generator (the line of code that handles the number(s)) and force it to always be zero so the values turn up normal and if so, how. |
If the addition algorithm is straight forward like randomnumber+value. You can already open the debugger then track back the code and find the register that holds "randomnumber" (assuming the randomnumber creating function is outside the addition function. But if the addition happens in the same function with creating function, unfortunately you have to do some maths to find a meaningful part (it can be a stable part of the random number or anything else). There's a lot tutorials about debugging in the forums, check it out.
_________________
Assembly var dediler geldik  |
|
Back to top |
|
 |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Mon Jun 30, 2014 3:09 pm Post subject: |
|
|
If you find the value that are multiplied by random number/encrypted/just a random number like this 547926789256
What i would do to find the REAL ONE (the not encrypted/multiplied)
1. right click > what writes
2. find the code/instruction that writes the long number
3. nop it/change it so it will NOT multiply/encrypt the long number
Hope you understand
|
|
Back to top |
|
 |
|