Difference between revisions of "Auto Assembler:aobScan"

From Cheat Engine
Jump to navigation Jump to search
m
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
[[Category:Assembler]]
 
'''Auto Assembler''' aobScan(''SymbolName'', ''AOBString'')
 
'''Auto Assembler''' aobScan(''SymbolName'', ''AOBString'')
  
Scans the memory for the given array of byte and sets the result to the symbol name.
+
Scans all the memory for a specific byte pattern defined by ''AOBString'' and sets the resulting address to the symbol ''SymbolName''.
Anything not an integer will be seen as a wildcard.
 
  
=== Function Parameters ===
+
'''Note:''' ''AOBString'' definition is composed by a list of one or several bytes optionally separated by spaces. Each byte definition has 2 variants:
 +
 
 +
- A group of 2 characters, where the first character is the high order nibble and the second is the low order nibble. Each character can be an hexadecimal digit (from '0' to 'F') or a wildcard character (interpreted as any hexadecimal value from 0 to 15)
 +
 
 +
- An unique wildcard surrounded by spaces (interpreted as any value from 0 to 255)
 +
 
 +
The wildcards are defined by any of these 3 characters: 'x', '?', or '*'.
 +
Some valid patterns:
 +
 
 +
5x 48 8D 6x 24 E0
 +
5? 48 8D 6? 24 E0
 +
5* 48 8D 6* 24 E0
 +
xx 48 8D xx 24 E0
 +
?? 48 8D ?? 24 E0
 +
** 48 8D ** 24 E0
 +
x 48 8D x 24 E0
 +
? 48 8D ? 24 E0
 +
* 48 8D * 24 E0
 +
 
 +
 
 +
=== Command Parameters ===
 
{|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0"
 
{|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0"
 
!align="left"|Parameter
 
!align="left"|Parameter
Line 12: Line 32:
 
|SymbolName
 
|SymbolName
 
|string
 
|string
|The symbol name to use if aob is found
+
|The symbol name to define if ''AOBString'' is found
 
|-
 
|-
 
|AOBString
 
|AOBString
 
|string
 
|string
|The string of bytes, as hex, to scan for
+
|The byte pattern, as hex, to scan for
 
|}
 
|}
  
Line 22: Line 42:
 
== Examples ==
 
== Examples ==
 
  aobScan(SomeSymbol, 00 53 48 8D 64 24 E0)
 
  aobScan(SomeSymbol, 00 53 48 8D 64 24 E0)
 +
 +
aobScan(SomeSymbol, 00 xx xx 8D 64 24 E0)
 +
 +
aobScan(SomeSymbol, 00 5x 48 xx 6x 24 E0)
 +
 +
aobScan(SomeSymbol, 00 x x 8D 64 24 E0)
  
 
  aobScan(SomeSymbol, 00 ** ** 8D 64 24 E0)
 
  aobScan(SomeSymbol, 00 ** ** 8D 64 24 E0)
 +
 +
aobScan(SomeSymbol, 00 5* 48 *D 64 24 E0)
 +
 +
aobScan(SomeSymbol, 00 * * 8D 64 24 E0)
  
 
  aobScan(SomeSymbol, 00 ?? ?? 8D 64 24 E0)
 
  aobScan(SomeSymbol, 00 ?? ?? 8D 64 24 E0)
  
  aobScan(SomeSymbol, 00**8D6424E0)
+
  aobScan(SomeSymbol, 00 5? ?? 8? 64 24 E0)
  
  aobScan(SomeSymbol, 00??8D6424E0)
+
  aobScan(SomeSymbol, 00 ? ? 8D 64 24 E0)
 +
 
 +
aobScan(SomeSymbol, 005x8xxxxxE0)
 +
 
 +
aobScan(SomeSymbol, 005*8*****E0)
 +
 
 +
aobScan(SomeSymbol, 005?8?????E0)
  
 
== See also ==
 
== See also ==
 
* [[Cheat_Engine:Auto Assembler|Auto Assembler]]
 
* [[Cheat_Engine:Auto Assembler|Auto Assembler]]
 +
* [[Auto_Assembler:Commands|Auto Assembler Commands]]
  
=== Related Functions ===
+
=== Related Commands ===
 
* [[Auto Assembler:aobScanModule|aobScanModule]]
 
* [[Auto Assembler:aobScanModule|aobScanModule]]
 +
* [[Auto_Assembler:aobScanRegion|aobScanRegion]]
 
* [[Auto Assembler:alloc|alloc]]
 
* [[Auto Assembler:alloc|alloc]]
 
* [[Auto Assembler:dealloc|dealloc]]
 
* [[Auto Assembler:dealloc|dealloc]]
 +
* [[Auto Assembler:globalAlloc|globalAlloc]]
 +
* [[Auto Assembler:createThread|createThread]]
 
* [[Auto Assembler:define|define]]
 
* [[Auto Assembler:define|define]]
 
* [[Auto Assembler:fullAccess|fullAccess]]
 
* [[Auto Assembler:fullAccess|fullAccess]]
Line 48: Line 88:
 
* [[Auto Assembler:registerSymbol|registerSymbol]]
 
* [[Auto Assembler:registerSymbol|registerSymbol]]
 
* [[Auto Assembler:unregisterSymbol|unregisterSymbol]]
 
* [[Auto Assembler:unregisterSymbol|unregisterSymbol]]
* [[Auto Assembler:LUA|LUA]]
+
* [[Auto Assembler:LUA ASM|LUA ASM]]
* [[Auto Assembler:ASM|ASM]]
 

Latest revision as of 16:38, 22 April 2022

Auto Assembler aobScan(SymbolName, AOBString)

Scans all the memory for a specific byte pattern defined by AOBString and sets the resulting address to the symbol SymbolName.

Note: AOBString definition is composed by a list of one or several bytes optionally separated by spaces. Each byte definition has 2 variants:

- A group of 2 characters, where the first character is the high order nibble and the second is the low order nibble. Each character can be an hexadecimal digit (from '0' to 'F') or a wildcard character (interpreted as any hexadecimal value from 0 to 15)

- An unique wildcard surrounded by spaces (interpreted as any value from 0 to 255)

The wildcards are defined by any of these 3 characters: 'x', '?', or '*'. Some valid patterns:

5x 48 8D 6x 24 E0
5? 48 8D 6? 24 E0
5* 48 8D 6* 24 E0
xx 48 8D xx 24 E0
?? 48 8D ?? 24 E0
** 48 8D ** 24 E0
x 48 8D x 24 E0
? 48 8D ? 24 E0
* 48 8D * 24 E0


Command Parameters[edit]

Parameter Type Description
SymbolName string The symbol name to define if AOBString is found
AOBString string The byte pattern, as hex, to scan for


Examples[edit]

aobScan(SomeSymbol, 00 53 48 8D 64 24 E0)
aobScan(SomeSymbol, 00 xx xx 8D 64 24 E0)
aobScan(SomeSymbol, 00 5x 48 xx 6x 24 E0)
aobScan(SomeSymbol, 00 x x 8D 64 24 E0)
aobScan(SomeSymbol, 00 ** ** 8D 64 24 E0)
aobScan(SomeSymbol, 00 5* 48 *D 64 24 E0)
aobScan(SomeSymbol, 00 * * 8D 64 24 E0)
aobScan(SomeSymbol, 00 ?? ?? 8D 64 24 E0)
aobScan(SomeSymbol, 00 5? ?? 8? 64 24 E0)
aobScan(SomeSymbol, 00 ? ? 8D 64 24 E0)
aobScan(SomeSymbol, 005x8xxxxxE0)
aobScan(SomeSymbol, 005*8*****E0)
aobScan(SomeSymbol, 005?8?????E0)

See also[edit]

Related Commands[edit]