Endian

From Cheat Engine
Revision as of 14:11, 19 March 2017 by TheyCallMeTim13 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.