add lbrdump command and sdk function

This commit is contained in:
sina 2026-05-04 00:29:54 +02:00
parent ea74b06286
commit 09416e7fe1
29 changed files with 1396 additions and 980 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,19 +1,19 @@
#pragma once
#ifndef PARSE_TABLE_H
#define PARSE_TABLE_H
#define RULES_COUNT 276
#define TERMINAL_COUNT 124
#define RULES_COUNT 278
#define TERMINAL_COUNT 125
#define NONETERMINAL_COUNT 63
#define START_VARIABLE "S"
#define MAX_RHS_LEN 15
#define KEYWORD_LIST_LENGTH 113
#define KEYWORD_LIST_LENGTH 115
#define OPERATORS_ONE_OPERAND_LIST_LENGTH 3
#define OPERATORS_TWO_OPERAND_LIST_LENGTH 16
#define REGISTER_MAP_LIST_LENGTH 120
#define PSEUDO_REGISTER_MAP_LIST_LENGTH 16
#define SCRIPT_VARIABLE_TYPE_LIST_LENGTH 10
#define ASSIGNMENT_OPERATOR_LIST_LENGTH 10
#define SEMANTIC_RULES_MAP_LIST_LENGTH 158
#define SEMANTIC_RULES_MAP_LIST_LENGTH 160
#define THREEOPFUNC1_LENGTH 1
#define THREEOPFUNC2_LENGTH 3
#define TWOOPFUNC1_LENGTH 8
@ -27,7 +27,7 @@
#define ONEOPFUNC4_LENGTH 1
#define TWOOPFUNC4_LENGTH 1
#define ZEROOPFUNC1_LENGTH 7
#define ZEROOPFUNC2_LENGTH 4
#define ZEROOPFUNC2_LENGTH 5
#define VARARGFUNC1_LENGTH 1
extern const struct _SCRIPT_ENGINE_TOKEN Lhs[RULES_COUNT];
extern const struct _SCRIPT_ENGINE_TOKEN Rhs[RULES_COUNT][MAX_RHS_LEN];
@ -60,11 +60,11 @@ extern const SYMBOL_MAP PseudoRegisterMapList[];
extern const char* ScriptVariableTypeList[];
#define LALR_RULES_COUNT 111
#define LALR_TERMINAL_COUNT 80
#define LALR_RULES_COUNT 112
#define LALR_TERMINAL_COUNT 81
#define LALR_NONTERMINAL_COUNT 26
#define LALR_MAX_RHS_LEN 9
#define LALR_STATE_COUNT 315
#define LALR_STATE_COUNT 319
extern const struct _SCRIPT_ENGINE_TOKEN LalrLhs[RULES_COUNT];
extern const struct _SCRIPT_ENGINE_TOKEN LalrRhs[RULES_COUNT][MAX_RHS_LEN];
extern const unsigned int LalrRhsSize[RULES_COUNT];

View file

@ -1,5 +1,5 @@
# OneOpFunc1 input is a number and returns a number.
.OneOpFunc1->poi db dd dw dq neg hi low not check_address strlen wcslen disassemble_len disassemble_len32 disassemble_len64 lbr_save lbr_print interlocked_increment interlocked_decrement reference physical_to_virtual virtual_to_physical poi_pa hi_pa low_pa db_pa dd_pa dw_pa dq_pa
.OneOpFunc1->poi db dd dw dq neg hi low not check_address strlen wcslen disassemble_len disassemble_len32 disassemble_len64 lbr_save lbr_dump lbr_print interlocked_increment interlocked_decrement reference physical_to_virtual virtual_to_physical poi_pa hi_pa low_pa db_pa dd_pa dw_pa dq_pa
# TwoOpFunc1 inputs are two numbers and returns a number.
.TwoOpFunc1->ed eb eq interlocked_exchange interlocked_exchange_add wcscmp eb_pa ed_pa eq_pa

View file

@ -38,7 +38,7 @@
.ZeroOpFunc1->pause flush event_trace_step event_trace_step_in event_trace_step_out event_trace_instrumentation_step event_trace_instrumentation_step_in
# ZeroOpFunc2 no input and returns a number
.ZeroOpFunc2->rdtsc rdtscp lbr_save lbr_print
.ZeroOpFunc2->rdtsc rdtscp lbr_save lbr_dump lbr_print
.VarArgFunc1->printf