Auto Assembler Basics

Section's for general approaches on hacking various options in games. No online-related discussions/posts OR warez!
Post Reply
User avatar
TheyCallMeTim13
Administration
Administration
Posts: 980
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 154
Contact:

Auto Assembler Basics

Post by TheyCallMeTim13 » Wed Apr 18, 2018 4:06 am

https://wiki.cheatengine.org/index.php? ... ler:Basics
Auto Assembler Basics

To discus the auto assembler we need a basic understanding of what assembly is.
So programming got it's start with punch cards, but eventually programming was about byte codes. https://wikipedia.org/wiki/Computer_pro ... d_card_era And before that there was Core rope memory, but this requires a hardware change so it's generally not called programming any more (but it was in it's day). Now while it's undoubtedly easier to work on a set of byte code then a bunch of holes in a card.
This is not very human readable:

Code: Select all

89 83 80 04 00 00 8D 55 D4 E8 02 62 01 00 8B 55
D4 ...
But this is a little easier to read:

Code: Select all

mov [ebx+00000480],eax
lea edx,[ebp-2C]
call 00439D10
mov edx,[ebp-2C]
And that's all assembly is, it's just a human readable language for an assembler to assemble byte code (machine code). Cheat Engine uses it's own assembler it's called "Auto Assembler", but it understands more then just assembly, then Cheat Engine also uses a sub set of the auto assembler (pure assembly) in the memory view form often referred to as "Assembler".

For more information see: The easiest way to open the auto assembler is from the Cheat Engine main form press Ctrl+Alt+A.
Just press the execute button to execute a script in an auto assembler form.

Image

Here are some basic auto assembler scripts:

Code: Select all

define(someConstant,1)

Code: Select all

{$lua}
print('Hello World!')
{$asm}
define(someConstant,1)
Auto assembler commands are not case sensitive so define and DEFINE will both work as will mov and MOV.

Memory view form:
To open the auto assembler form the memory view form, this is best when writing scripts for injections, press Ctrl+A. Or form the auto assembler form menu select tools then select auto assemble.

Image


In the memory view form you can also use the assembler directly by double clicking on an instruction.

Image

Image



To add a script to a table: 1. If you don't have an auto assemble form visiable open one, on the Cheat Engine main form press Crtl+Alt+A 2. If you haven't added enable and disable sections, then On the auto assemble form click template then click cheat table framework code. Image 3. On the auto assemble form menu click file then click assign to current cheat table. Image 4. This should create a new memory record on the cheat table address list. Image Note: Cheat table scripts require enable and disable sections.

Code: Select all

//// --------------------  Main Section  ---------------------

[ENABLE]
//// --------------------  Enable Section  ---------------------

[DISABLE]
//// --------------------  Disable Section  --------------------
  • The main section is ran when enabling and disabling.
  • The enable section is ran when enabling.
  • The disable section is ran when disabling.
Script windows:
You can have as many script windows open as you want. You can save these scripts as cea files in the same directory as your cheat table. You can run them from other scripts using auto assembler's INCLUDE command.

See also:
Last edited by TheyCallMeTim13 on Tue May 01, 2018 1:07 am, edited 9 times in total.

Post Reply

Who is online

Users browsing this forum: No registered users