diff options
| author | Ryan Snyder <ryan@vector35.com> | 2025-01-24 17:57:26 -0500 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2025-02-14 15:58:56 -0500 |
| commit | bcdc0d9b89605936a1cb6cf3ffaaece60d3c5777 (patch) | |
| tree | 7286bd0963a49d9b90ddccf3a4b70b71c08e6ce5 /binaryninjacore.h | |
| parent | 071811547bded7cf570125a03bb12d0b7c56a5ac (diff) | |
uidf refactor
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 064a4b8e..8e1e6141 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -509,6 +509,8 @@ extern "C" LLIL_SET_FLAG, // Not valid in SSA form (see LLIL_SET_FLAG_SSA) LLIL_SET_REG_STACK_REL, // Not valid in SSA form (see LLIL_SET_REG_STACK_REL_SSA) LLIL_REG_STACK_PUSH, // Not valid in SSA form (expanded) + LLIL_ASSERT, + LLIL_FORCE_VER, LLIL_LOAD, // Not valid in SSA form (see LLIL_LOAD_SSA) LLIL_STORE, // Not valid in SSA form (see LLIL_STORE_SSA) LLIL_PUSH, // Not valid in SSA form (expanded) @@ -628,6 +630,8 @@ extern "C" LLIL_REG_STACK_FREE_REL_SSA, LLIL_REG_STACK_FREE_ABS_SSA, LLIL_SET_FLAG_SSA, + LLIL_ASSERT_SSA, + LLIL_FORCE_VER_SSA, LLIL_FLAG_SSA, LLIL_FLAG_BIT_SSA, LLIL_CALL_SSA, @@ -1200,6 +1204,8 @@ extern "C" MLIL_SET_VAR, // Not valid in SSA form (see MLIL_SET_VAR_SSA) MLIL_SET_VAR_FIELD, // Not valid in SSA form (see MLIL_SET_VAR_FIELD) MLIL_SET_VAR_SPLIT, // Not valid in SSA form (see MLIL_SET_VAR_SPLIT_SSA) + MLIL_ASSERT, + MLIL_FORCE_VER, MLIL_LOAD, // Not valid in SSA form (see MLIL_LOAD_SSA) MLIL_LOAD_STRUCT, // Not valid in SSA form (see MLIL_LOAD_STRUCT_SSA) MLIL_STORE, // Not valid in SSA form (see MLIL_STORE_SSA) @@ -1320,6 +1326,8 @@ extern "C" MLIL_VAR_ALIASED, MLIL_VAR_ALIASED_FIELD, MLIL_VAR_SPLIT_SSA, + MLIL_ASSERT_SSA, + MLIL_FORCE_VER_SSA, MLIL_CALL_SSA, MLIL_CALL_UNTYPED_SSA, MLIL_SYSCALL_SSA, @@ -1396,6 +1404,8 @@ extern "C" HLIL_VAR_INIT, HLIL_ASSIGN, HLIL_ASSIGN_UNPACK, + HLIL_FORCE_VER, + HLIL_ASSERT, HLIL_VAR, HLIL_STRUCT_FIELD, HLIL_ARRAY_INDEX, @@ -1497,6 +1507,8 @@ extern "C" HLIL_VAR_INIT_SSA, HLIL_ASSIGN_MEM_SSA, HLIL_ASSIGN_UNPACK_MEM_SSA, + HLIL_FORCE_VER_SSA, + HLIL_ASSERT_SSA, HLIL_VAR_SSA, HLIL_ARRAY_INDEX_SSA, HLIL_DEREF_SSA, @@ -2610,6 +2622,7 @@ extern "C" { BNVariable var; BNArchitectureAndAddress defSite; + bool after; BNPossibleValueSet value; } BNUserVariableValue; @@ -5393,14 +5406,17 @@ extern "C" BINARYNINJACOREAPI BNFlowGraph* BNGetUnresolvedStackAdjustmentGraph(BNFunction* func); BINARYNINJACOREAPI void BNSetUserVariableValue(BNFunction* func, const BNVariable* var, - const BNArchitectureAndAddress* defSite, const BNPossibleValueSet* value); + const BNArchitectureAndAddress* defSite, bool after, const BNPossibleValueSet* value); BINARYNINJACOREAPI void BNClearUserVariableValue( - BNFunction* func, const BNVariable* var, const BNArchitectureAndAddress* defSite); + BNFunction* func, const BNVariable* var, const BNArchitectureAndAddress* defSite, bool after); BINARYNINJACOREAPI BNUserVariableValue* BNGetAllUserVariableValues(BNFunction* func, size_t* count); BINARYNINJACOREAPI void BNFreeUserVariableValues(BNUserVariableValue* result); BINARYNINJACOREAPI bool BNParsePossibleValueSet(BNBinaryView* view, const char* valueText, BNRegisterValueType state, BNPossibleValueSet* result, uint64_t here, char** errors); + BINARYNINJACOREAPI void BNCreateForcedVariableVersion(BNFunction* func, const BNVariable* var, const BNArchitectureAndAddress* defSite); + BINARYNINJACOREAPI void BNClearForcedVariableVersion(BNFunction* func, const BNVariable* var, const BNArchitectureAndAddress* defSite); + BINARYNINJACOREAPI void BNRequestFunctionDebugReport(BNFunction* func, const char* name); BINARYNINJACOREAPI BNILReferenceSource* BNGetMediumLevelILVariableReferences( @@ -5747,6 +5763,9 @@ extern "C" BNLowLevelILFunction* func, size_t expr, size_t operand, size_t* count); BINARYNINJACOREAPI void BNLowLevelILFreeOperandList(uint64_t* operands); + BINARYNINJACOREAPI size_t BNCacheLowLevelILPossibleValueSet(BNLowLevelILFunction* func, BNPossibleValueSet* pvs); + BINARYNINJACOREAPI BNPossibleValueSet BNGetCachedLowLevelILPossibleValueSet(BNLowLevelILFunction* func, size_t idx); + BINARYNINJACOREAPI BNLowLevelILInstruction BNGetLowLevelILByIndex(BNLowLevelILFunction* func, size_t i); BINARYNINJACOREAPI size_t BNGetLowLevelILIndexForInstruction(BNLowLevelILFunction* func, size_t i); BINARYNINJACOREAPI size_t BNGetLowLevelILInstructionForExpr(BNLowLevelILFunction* func, size_t expr); @@ -5900,6 +5919,9 @@ extern "C" BNMediumLevelILFunction* func, size_t expr, size_t operand, size_t* count); BINARYNINJACOREAPI void BNMediumLevelILFreeOperandList(uint64_t* operands); + BINARYNINJACOREAPI size_t BNCacheMediumLevelILPossibleValueSet(BNMediumLevelILFunction* func, BNPossibleValueSet* pvs); + BINARYNINJACOREAPI BNPossibleValueSet BNGetCachedMediumLevelILPossibleValueSet(BNMediumLevelILFunction* func, size_t idx); + BINARYNINJACOREAPI BNMediumLevelILInstruction BNGetMediumLevelILByIndex(BNMediumLevelILFunction* func, size_t i); BINARYNINJACOREAPI size_t BNGetMediumLevelILIndexForInstruction(BNMediumLevelILFunction* func, size_t i); BINARYNINJACOREAPI size_t BNGetMediumLevelILInstructionForExpr(BNMediumLevelILFunction* func, size_t expr); @@ -6058,6 +6080,9 @@ extern "C" BNHighLevelILFunction* func, size_t expr, size_t operand, size_t* count); BINARYNINJACOREAPI void BNHighLevelILFreeOperandList(uint64_t* operands); + BINARYNINJACOREAPI size_t BNCacheHighLevelILPossibleValueSet(BNHighLevelILFunction* func, BNPossibleValueSet* pvs); + BINARYNINJACOREAPI BNPossibleValueSet BNGetCachedHighLevelILPossibleValueSet(BNHighLevelILFunction* func, size_t idx); + BINARYNINJACOREAPI BNHighLevelILInstruction BNGetHighLevelILByIndex( BNHighLevelILFunction* func, size_t i, bool asFullAst); BINARYNINJACOREAPI size_t BNGetHighLevelILIndexForInstruction(BNHighLevelILFunction* func, size_t i); |
