CodeScanMatcher_func = 0
CodeScanMatcher_user_data = 1
CodeScanMatcher_type = 2
CodeScanMatcher_code = 66
CodeScanMatcher_len = 130
CodeScanMatcher_offset = 131
CodeScanMatcher_start = 133
CodeScanMatcher_holeidx = 135
CodeScanMatcher_holes = 137
CodeScanMatcher_next = 169
CodeScanMatcher_flags = 170
CodeScanMatch_func = 0
CodeScanMatch_size = 1
CodeScanMatch_type = 2
CodeScanMatch_heap = 3
CodeScanMatch_stack = 4
CodeScanMatch_params = 5
CodeScanMatch_cip = 6
CodeScanMatch_holes = 7
CodeScanMatch_hole_count = 23
CodeScanMatch_name = 24
CodeScanner_first = 40
CodeScanner_minn = 41
CodeScanner_jump_switch = 42
CodeScanner_jump_target = 74
CodeScanner_jump_stack = 106
CodeScanner_jump_heap = 138
CodeScanner_state = 170
CodeScanner_param = 171
bool:
CodeScanAddJumpTarget(cip, target, stk, hea, jumpTargets[], num)
Name | Info |
---|---|
cip |
|
target |
|
stk |
|
hea |
|
jumpTargets |
[172] |
num |
CodeScanner_jump_heap
CodeScanner_jump_stack
CodeScanner_jump_switch
CodeScanner_jump_target
CodeScanner_minn
min
4 cells
CodeScanAddMatcher(scanner[], searcher[])
Name | Info |
---|---|
scanner |
[172] |
searcher |
[171] |
4 cells
CodeScanAddSwitchTarget(cip, stk, hea, jumpTargets[], num)
Name | Info |
---|---|
cip |
|
stk |
|
hea |
|
jumpTargets |
[172] |
num |
AMX_HDR_COD
AMX_HDR_DAT
CodeScanner_jump_heap
CodeScanner_jump_stack
CodeScanner_jump_switch
CodeScanner_jump_target
CodeScanner_minn
cellbytes
cellmin
gAmxAssemblyAddress_
gBase
gHdr
gOP_CASETBL
min
8 cells
CodeScanCheck(op, dctx[], cs[], matcher__, fctx[], &next)
Name | Info |
---|---|
op |
Opcode |
dctx |
[5] |
cs |
[171] |
matcher__ |
|
fctx |
[172] |
next |
& |
bool:
CodeScanMatch_cip
CodeScanMatch_hole_count
CodeScanMatch_holes
CodeScanMatch_size
CodeScanMatcher_code
CodeScanMatcher_holeidx
CodeScanMatcher_holes
CodeScanMatcher_len
CodeScanMatcher_next
CodeScanMatcher_offset
CodeScanMatcher_start
CodeScanMatcher_type
DisasmContext_cip
DisasmContext_nip
DisasmGetOperandReloc
FIXES_memcpy
OP_CASETBL
cellbytes
false
gAMXOpcodeParameterCounts
gAmxAssemblyAddress_
true
13 cells
CodeScanCheckJumpTarget(cip, deloc, &stk, &hea, jumpTargets[], num)
Name | Info |
---|---|
cip |
|
deloc |
|
stk |
& |
hea |
& |
jumpTargets |
[172] |
num |
bool:
CodeScanner_jump_heap
CodeScanner_jump_stack
CodeScanner_jump_switch
CodeScanner_jump_target
CodeScanner_minn
cellbytes
cellmin
false
gAmxAssemblyAddress_
true
4 cells
CodeScanClone(dest[], src[])
Name | Info |
---|---|
dest |
[172] |
src |
[172] |
1 cells
CodeScanFindOneFastPattern2(matcher[], matcher__, &addr)
Name | Info |
---|---|
matcher |
[171] |
matcher__ |
|
addr |
& |
bool:
CodeScanFindOneFastPattern3
CodeScanMatcher_code
CodeScanMatcher_len
CodeScanMatcher_next
CodeScanMatcher_type
OP_CALL
false
gFakeMatcher
true
10 cells
CodeScanFindOneFastPattern3(matcher[], matcher__, addr, &cur)
Name | Info |
---|---|
matcher |
[171] |
matcher__ |
|
addr |
|
cur |
& |
bool:
CodeScanMatcher_code
CodeScanMatcher_len
CodeScanMatcher_next
CodeScanMatcher_type
OP_CALL
false
true
3 cells
CodeScanGetFuncName(addr, name[])
Name | Info |
---|---|
addr |
|
name |
[] |
bool:
7 cells
CodeScanGetFunctionAsm(csm[], ctx[], offset)
Name | Info |
---|---|
csm |
[172] |
ctx |
[21] |
offset |
6 cells
CodeScanGetFunctionDisasm(csm[], ctx[], offset)
Name | Info |
---|---|
csm |
[172] |
ctx |
[5] |
offset |
1 cells
CodeScanGetFunctionScanner(csm[], ret[], ctx[])
Name | Info |
---|---|
csm |
[172] |
ret |
[172] |
ctx |
[5] |
CodeScanInit
CodeScanMatch_func
CodeScanMatch_type
CodeScanner_state
DisasmContext_cip
DisasmContext_end_ip
DisasmContext_nip
DisasmContext_start_ip
4 cells
CodeScanGetHoleCount(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchAddress(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchAddressData(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchAsm(csm[], ctx[], offset)
Name | Info |
---|---|
csm |
[172] |
ctx |
[21] |
offset |
6 cells
CodeScanGetMatchDisasm(csm[], ctx[], offset)
Name | Info |
---|---|
csm |
[172] |
ctx |
[5] |
offset |
1 cells
CodeScanGetMatchFunc(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchFuncData(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchHeap(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchHole(csm[], idx)
Name | Info |
---|---|
csm |
[172] |
idx |
1 cells
CodeScanGetMatchLength(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchName(csm[], name[])
Name | Info |
---|---|
csm |
[172] |
name |
[] |
5 cells
CodeScanGetMatchScanner(csm[], ret[], ctx[], accurate)
Name | Info |
---|---|
csm |
[172] |
ret |
[172] |
ctx |
[5] |
accurate |
bool |
CodeScanGetFunctionScanner
CodeScanMatch_cip
CodeScanStepInternal
CodeScanner_param
CodeScanner_state
DisasmContext_cip
DisasmContext_nip
DisasmContext_start_ip
cellmin
8 cells
CodeScanGetMatchStack(csm[])
Name | Info |
---|---|
csm |
[172] |
1 cells
CodeScanGetMatchType(csm[])
Name | Info |
---|---|
csm |
[172] |
5 cells
CodeScanInit(scanner[])
Name | Info |
---|---|
scanner |
[172] |
AMX_HDR_COD
AMX_HDR_DAT
CodeScanMatch_cip
CodeScanMatch_heap
CodeScanMatch_name
CodeScanMatch_params
CodeScanMatch_stack
CodeScanMatch_type
CodeScanResetJumpTargets
CodeScanner_first
CodeScanner_param
CodeScanner_state
GetAmxBaseAddress
GetAmxHeader
OP_CASETBL
OP_NOP
RelocateOpcode
cellmin
gBase
gCodBase
gDat
gHdr
gOP_CASETBL
gOP_NOP
5 cells
CodeScanMatcherData(searcher[], val)
Name | Info |
---|---|
searcher |
[171] |
val |
1 cells
CodeScanMatcherInit_(searcher[], address, flags)
Name | Info |
---|---|
searcher |
[171] |
address |
|
flags |
CodeScanMatcher_flags
CodeScanMatcher_func
CodeScanMatcher_holeidx
CodeScanMatcher_len
CodeScanMatcher_next
CodeScanMatcher_offset
CodeScanMatcher_user_data
IsOpcodeRelocationRequired
OP_NOP
RelocateOpcode
gRelocateRequired
printf
4 cells
CodeScanMatcherPattern_(searcher[], ...)
Name | Info |
---|---|
searcher |
[171] |
... |
{Opcode,Float,_} |
CodeScanMatcher_code
CodeScanMatcher_len
CodeScanMatcher_type
__COMPILER_CELL_SHIFT
__args_offset
gAMXOpcodeParameterCounts
getarg
11 cells
CodeScanNOPMatch(csm[])
Name | Info |
---|---|
csm |
[172] |
3 cells
CodeScanReset(cs[], matcher__, &next)
Name | Info |
---|---|
cs |
[171] |
matcher__ |
|
next |
& |
CodeScanMatcher_func
CodeScanMatcher_holeidx
CodeScanMatcher_len
CodeScanMatcher_next
CodeScanMatcher_offset
1 cells
CodeScanResetJumpTargets(jumpTargets[], num)
Name | Info |
---|---|
jumpTargets |
[172] |
num |
1 cells
CodeScanRun(csState[])
Name | Info |
---|---|
csState |
[172] |
bool:
CodeScanCall
CodeScanCheck
CodeScanMatch_cip
CodeScanMatch_func
CodeScanReset
CodeScanStepInternal
CodeScanner_first
DisasmContext
DisasmContext_cip
DisasmContext_end_ip
DisasmContext_nip
DisasmContext_opcode
DisasmContext_start_ip
OP_NONE
cellmin
gFakeMatcher
true
18 cells
CodeScanRunFast(csState[], searchFuncAddr)
Name | Info |
---|---|
csState |
[172] |
searchFuncAddr |
bool:
CodeScanCall
CodeScanCheck
CodeScanFindOneFastPattern2
CodeScanMatch_cip
CodeScanReset
CodeScanRun
CodeScanRunFastPrescanLocated
CodeScanRunFastPrescanRelocate
CodeScanStepInternal
CodeScanner_first
DisasmContext
DisasmContext_cip
DisasmContext_end_ip
DisasmContext_nip
DisasmContext_opcode
DisasmContext_start_ip
DisasmGetOpcode
OP_NONE
OP_PROC
cellbytes
cellmin
false
gDat
gFakeMatcher
gRelocateRequired
print
true
21 cells
CodeScanRunFastPrescanLocated(&proc, &nextaddr, searchFuncAddr)
Name | Info |
---|---|
proc |
& |
nextaddr |
& |
searchFuncAddr |
OP_CALL
OP_CASETBL
OP_NONE
OP_PROC
cellbytes
cellmin
false
gAMXOpcodeBaseSizes
gAmxAssemblyAddress_
gCodBase
true
3 cells
CodeScanRunFastPrescanRelocate(&proc, &nextaddr, searchFuncAddr)
Name | Info |
---|---|
proc |
& |
nextaddr |
& |
searchFuncAddr |
OP_CALL
OP_CASETBL
OP_NONE
OP_PROC
UnrelocateOpcode
cellbytes
cellmin
false
gAMXOpcodeBaseSizes
gAmxAssemblyAddress_
gCodBase
true
6 cells
CodeScanStep(dctx[], csState[])
Name | Info |
---|---|
dctx |
[5] |
csState |
[172] |
bool:
8 cells
CodeScanStepInternal(dctx[], csState[], &parseState, &parseParam)
Name | Info |
---|---|
dctx |
[5] |
csState |
[172] |
parseState |
& |
parseParam |
& |
bool:
CodeScanAddJumpTarget
CodeScanAddSwitchTarget
CodeScanCheckJumpTarget
CodeScanMatch_func
CodeScanMatch_heap
CodeScanMatch_stack
CodeScanMatch_type
CodeScanResetJumpTargets
DisasmContext_cip
DisasmContext_end_ip
DisasmContext_nip
DisasmContext_opcode
NUM_OPCODES
OP_ADD_C
OP_BOUNDS
OP_BREAK
OP_CALL
OP_CALL_PRI
OP_CASETBL
OP_HALT
OP_HEAP
OP_JEQ
OP_JGEQ
OP_JGRTR
OP_JLEQ
OP_JLESS
OP_JNEQ
OP_JNZ
OP_JREL
OP_JSGEQ
OP_JSGRTR
OP_JSLEQ
OP_JSLESS
OP_JUMP
OP_JZER
OP_LCTRL
OP_LOAD_PRI
OP_NONE
OP_NOP
OP_POP_ALT
OP_POP_PRI
OP_PROC
OP_PUSH
OP_PUSH_ADR
OP_PUSH_ALT
OP_PUSH_C
OP_PUSH_PRI
OP_PUSH_R
OP_PUSH_S
OP_RETN
OP_SCTRL
OP_STACK
OP_SWITCH
UnsafeUnrelocateOpcode
cellbytes
cellmin
false
gAMXOpcodeBaseSizes
gAmxAssemblyAddress_
gBase
true
13 cells