| View previous topic :: View next topic |
| Author |
Message |
Inumanoj How do I cheat?
Reputation: 0
Joined: 31 Aug 2011 Posts: 5 Location: India
|
Posted: Wed Aug 31, 2011 8:09 am Post subject: locking values in hacks |
|
|
I am really new to hacking.
I was able to hack dragon age 2 for attributes. I was able to do it with help i found online. It was told that i should run scans for values which he gave and i did it accordingly and it worked.
I did the tutorial of CE and that about all i know on how to hack. I run searches for exact values, get the address and modify it.
Here the dragon age hack was quite different. He gave me the value to be searched as 16448, the original value for that being 3 and also 16384, 16256 for 2,1 respectively. and he asked me to search in two bytes.
now my questions are
1. how are the these numbers linked? 16448-3, 16384-2, 16256-1?
2. how did he know that the search should in 2 bytes?
I would like understand more than just what i am supposed to do, if u know what i mean. |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 475
Joined: 09 May 2003 Posts: 25989 Location: The netherlands
|
Posted: Wed Aug 31, 2011 8:16 am Post subject: |
|
|
That is because that person that told you that didn't look further into it
I'll explain:
16448 = 40 40
16384 = 00 40
16256 = 80 3f
Now let's look at the float value type:
3 = 00 00 40 40
2 = 00 00 00 40
1 = 00 00 80 3f
See the similarities?
So, if you scan for the float value instead of 2bytes you will find those values as well, and you don't even have to use number magic when you want to change them
tip: Look at the memory in memoryview and press ctrl+1 to ctrl+7 while the hexview part is focused. It quickly converts the values _________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
Inumanoj How do I cheat?
Reputation: 0
Joined: 31 Aug 2011 Posts: 5 Location: India
|
Posted: Wed Aug 31, 2011 9:19 am Post subject: |
|
|
thank you,
but i understood only a bit of it, most of it went over my head... ok the hex of 16448 is 4040
(this is a normal conversion)
and y was the search in 2 byte??
and float 3 is 4040?
(what kind of conversion is taking place here?)
and we make search in ranges of 1, 2, 4, 8 bytes cuz we intend the exact value to be of char, int, float and double type storage yes?
in the tutorial it was told that the values are usually stored as floats and if i understood correct, it was stored as float here.
if then would it suffice if i just search '3' in float type or 4 bytes?? would i get the same result?
and in other values, like experience, should i run a search in 4 bytes by default? or is there a method to find out what kind of search i should run?
P.S. sorry if i am bombarding u with questions on a single post. its just that i am really new to this and i find this extremely interesting even if i find it a bit hard to understand.. and again thanks a lot!  |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 475
Joined: 09 May 2003 Posts: 25989 Location: The netherlands
|
Posted: Wed Aug 31, 2011 10:17 am Post subject: |
|
|
searching for 3 in 4 byte (03 00 00 00) will find different results then when searching for 3 in float (00 00 40 40 )
experience should be stored as an integer, but lazy developers might place it in a floating point value as well. _________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
Inumanoj How do I cheat?
Reputation: 0
Joined: 31 Aug 2011 Posts: 5 Location: India
|
Posted: Wed Aug 31, 2011 10:43 am Post subject: |
|
|
| so what is the difference between 4 byte and float? and how does these conversions vary with each type?? what kind are these?? they are hex aren't they? |
|
| Back to top |
|
 |
SwaggaJackin' Master Cheater
Reputation: 2
Joined: 06 Nov 2009 Posts: 312
|
Posted: Wed Aug 31, 2011 12:32 pm Post subject: |
|
|
The only thing in common between a float and a 4 byte integer is that they take up 4 bytes. They are interpreted differently as far as their decimal values are concerned. You don't read the decimal value of floating point type the same way you read the decimal value of an integer.
Here's an explanation of how the value is calculated in a 4 byte floating point:
http://www.tfinley.net/notes/cps104/floating.html
There is no different 'kind' of types. There are only representations of types. You can represent a value in floating point format as a binary, you can represent the same value in hex, octal, and decimal. This doesn't change the value, you can only interpret the value differently whether you specify it as an integer or a floating point.
E.G.
32-Bit Float:
| Code: |
HEX: 3924C043
DECIMAL: 384.283
BINARY: 00111001001001001100000001000011
|
The value remains the same, despite it's representation.
If you read the same hex value as an integer it would be:
32-Bit Integer:
| Code: |
HEX: 3924C043
Decimal: 1136665657
BINARY: 00111001001001001100000001000011
|
|
|
| Back to top |
|
 |
|