Difference between revisions of "Endian"
(→Cheat Engine and Big Endian) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Help]] | ||
Little Endian: | Little Endian: | ||
Values are written with the least significant bit first followed by more significant bytes. | Values are written with the least significant bit first followed by more significant bytes. |
Latest revision as of 14:11, 19 March 2017
Little Endian: Values are written with the least significant bit first followed by more significant bytes.
Big Endian: The most significant byte is written first, followed by lesser significant bytes.
Example with the value 300 (0x0000012c):
Little Endian: 0x2c 0x01 0x00 0x00
Big Endian: 0x00 0x00 0x01 0x2c
x86 uses the Little Endian way of notation, the only times you can encounter it on a computer is when using an emulator that doesn't do the swap automatically (Some emulators do the conversion of Big Endian to Little Endian internally to speed up emulation).
Cheat Engine and Big Endian[edit]
Cheat Engine currently does not support Big Endian by default, but it is possible to write a custom scan script that converts the value to be checked to Little Endian before it is compared against user input.
Useful assembler instructions here are xchg for 16-bit values and bswap for 32-bit values
Another method that might be easier, would be to use 1 byte scan values only.