Difference between revisions of "Tutorials:Auto Assembler:Basics"

From Cheat Engine
Jump to navigation Jump to search
(See also)
Line 99: Line 99:
 
* [[Assembler:Commands|Assembler Commands]]
 
* [[Assembler:Commands|Assembler Commands]]
 
* [[Cheat_Engine:Auto Assembler|Auto Assembler]]
 
* [[Cheat_Engine:Auto Assembler|Auto Assembler]]
 +
* [[Auto_Assembler:Commands|Auto Assembler Commands]]
 
* [[Tutorials:Auto_Assembler:Templates|Auto Assembler Templates]]
 
* [[Tutorials:Auto_Assembler:Templates|Auto Assembler Templates]]
 
* [[Tutorials:Auto_Assembler:Injection_basic|Code Injection Basic]]
 
* [[Tutorials:Auto_Assembler:Injection_basic|Code Injection Basic]]

Revision as of 18:59, 4 January 2018


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.

wikipedia.org/wiki/Computer_programming_in_the_punched_card_era

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:

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:

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.

AutoAssebler.execute.01.png


Here are some basic auto assembler scripts:

Code:

define(someConstant,1)

Code:

{$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.

Tutorials.AutoAssembler.open.01.png


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

MemoryView.assebler.singleLine.01.png

MemoryView.assebler.singleLine.02.png


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.
    Tutorials.AddScriptToTable.AssignToTable.Template-CTFramework.01.png
  3. On the auto assemble form menu click file then click assign to current cheat table.
    Tutorials.AddScriptToTable.AssignToTable.01.png
  4. This should create a new memory record on the cheat table address list.
    Tutorials.AddScriptToTable.AssignToTable.CTScript.01.png

Note: Cheat table scripts require enable and disable sections.

Code:

//// -------------------- 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

Syntax Highlighter