Difference between revisions of "Endian"

From Cheat Engine
Jump to navigation Jump to search
(Cheat Engine and Big Endian)
Line 18: Line 18:
  
 
== Cheat Engine and Big Endian ==
 
== Cheat Engine and Big Endian ==
Cheat engine does not currently 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>
+
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
 
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.
 
Another method that might be easier, would be to use 1 byte scan values only.

Revision as of 15:55, 19 September 2009

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.