Difference between revisions of "Tutorials:Auto Assembler:Basics"
m (Simple grammar fix, use "than" instead of "then") |
|||
(5 intermediate revisions 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 | + | 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: | ||
Line 34: | Line 36: | ||
− | For more information | + | For more information see: |
* [[Assembler]] | * [[Assembler]] | ||
** [[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]] | ||
Line 69: | Line 72: | ||
− | Auto assembler commands are not case | + | Auto assembler commands are not case sensitive so ''define'' and ''DEFINE'' will both work as will ''mov'' and ''MOV''. |
Line 98: | Line 101: | ||
* [[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]] |
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.
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.
Contents
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.
In the memory view form you can also use the assembler directly by double clicking on an instruction.
To add a script to a table[edit]
- If you don't have an auto assemble form visiable open one, on the Cheat Engine main form press Crtl+Alt+A
- If you haven't added enable and disable sections, then On the auto assemble form click template then click cheat table framework code.
- On the auto assemble form menu click file then click assign to current cheat table.
- This should create a new memory record on the cheat table address list.
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]
- Assembler
- Assembler Commands
- Auto Assembler
- Auto Assembler Commands
- Auto Assembler Templates
- Code Injection Basic
- Code Injection Full