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

From Cheat Engine
Jump to navigation Jump to search
(See also)
m (Simple grammar fix, use "than" instead of "then")
 
(One intermediate revision by one other user not shown)
Line 6: Line 6:
 
So programming got it's start with punch cards, but eventually programming was about byte codes.
 
So programming got it's start with punch cards, but eventually programming was about byte codes.
 
:[https://wikipedia.org/wiki/Computer_programming_in_the_punched_card_era wikipedia.org/wiki/Computer_programming_in_the_punched_card_era]
 
:[https://wikipedia.org/wiki/Computer_programming_in_the_punched_card_era wikipedia.org/wiki/Computer_programming_in_the_punched_card_era]
 +
:And before that there was [https://en.wikipedia.org/wiki/Core_rope_memory 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.
+
Now while it's undoubtedly easier to work on a set of byte code than a bunch of holes in a card.
  
 
This is not very human readable:
 
This is not very human readable:

Latest revision as of 03:17, 24 September 2019


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
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 than 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[edit]

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[edit]

  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[edit]

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[edit]

Syntax Highlighter[edit]