Difference between revisions of "Endian"
(fAobgVUVIoj) |
m (Reverted edits by 84.0.16.216 (Talk) to last revision by Holly) |
||
Line 1: | Line 1: | ||
− | + | 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 == | ||
+ | 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.<br> | ||
+ | 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. |
Revision as of 03:38, 22 January 2012
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
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.