Difference between revisions of "Auto Assembler:aobScan"

From Cheat Engine
Jump to navigation Jump to search
(Created page with ''''Auto Assembler''' aobScan(''SybolName'', ''AOBString'') Scans the memory for the given array of byte and sets the result to the symbol name. Anything not an integer will be s…')
 
m
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Auto Assembler''' aobScan(''SybolName'', ''AOBString'')
+
[[Category:Assembler]]
 +
'''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 10: Line 30:
 
!style="width: 80%;background-color:white;" align="left"|Description
 
!style="width: 80%;background-color:white;" align="left"|Description
 
|-
 
|-
|SybolName
+
|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]