Quote:
Originally Posted by DiobloSlayeR
forcer, I understand, but I have searched alot over the net, nothing helpful with that came up.
|
ok let me help you, if you don't have a good hexeditor that can interpret decimal values you can use your calculator in scientific view.
Decimal Value:
This is a value like 1 or 200 so on. It is the integer value the binary or hex returns to the computer.
Binary Value:
This computed by all the possible combinations of 1 and 0, comonly known as true or false. Each BYTE of information contains 8 BITs, 1 bit is either 1 or 0 (true or false), so the binary value of the decimal value is 00000001 , now the decimal value 2 in binary would be 00000010, 3= 00000011,
This has a posible of 256 possibilites, decimal value of 0 -> 255 (main reason for max on game stats as 255)
Now the above example in hex which is used alot more then binary.
Hex is a simplified form of binary, 1Byte will hold 2Hex characters which are ultimately just a more simple way of viewing the binary.
so the value 1 = 01 in a hex table 2 = 02
but to display 10 we use the character A, we also use B C D E and F for 11 - >15
So in this case you have a total of 16 different characters
0 -> 9 + A -> F
Then you have 2 sections just like in a double digit number like 23
you have the number 2 and the number 3, you can break this down into simple form
10s = 2
1s = 3
2*10+1*3=23
So just like hex you have the 2 sections example hex code 14
(since there is a possible 16characters for each field you multiply by 16)
so:
16s = 1
1s = 4
just like above we broke this down to a simple form
16*1+1*4=20 (decimal Value)
---------------------------------------------------------------
Now the harder part multiple byte integers
This is when the computer uses more then 1 byte to store/read information.
It is just like above but now your asian you have to read right to left not left to right.
So lets say we have a 4Byte Integer ( I will use obsidian Mail ID as an example)
C0 E7 02 00
We would then break this into a readble format first we reorder the bytes
00 02 E7 C0
or
2E7C0
I will go through this every bit of each byte
0 = 0*1= 0
C = 12*16 = 192
7 = 7*16*16 = 1792
E = 14*16*16*16=57344
2 = 2*16*16*16*16=131072
0 = 0*16*16*16*16*16=0
0 = 0*16*16*16*16*16*16=0
0 = 0*16*16*16*16*16*16*16=0
Now we add all that:
0+192+1792+57344+131072+0+0+0 = 190400
-------------------------------------------------------------------
Storing data this way is much more efficient then the way we store text, which is 1Byte = 1Character
---------------------------------------------
If your hex editor doesnt have data interpretation then you can use your systems calculator to do all the math for you.
Open your calculator click view -> scientific
You will notic some radians (selectable dots) on the right side under your edit box. the selected one should say "Dec" short for decimal if you input a number like 190400 then click the hex dot it will convert that value to hex for you but remember to swap then back around. Example
190400
output = 2E7C0
check the character length all hex is done in blocks of 2. and only the 0s at the front are taken
so since we have 5 characters add a 0 at the start
new output = 02E7C0
Now we put the end at the start and the start at the end, you can do this using notepad if you wish start writing each set of 2 characters into a notepad starting from right to left.
example
C0...
C0E7...
C0E702
Final Output: C0E702
----------------------------------------------------------
Now all you should have to do is research the files, compare them to the database notice patterns etc. That I won't just give away took me hours to write out a map for the itemtype