diff options
| author | Rusty Wagner <rusty@vector35.com> | 2019-08-03 22:40:47 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2019-12-19 17:20:53 -0500 |
| commit | c69b76dd1a7e1985f58f71c07dfc8b7b0657f57a (patch) | |
| tree | 25bbbdc261c3b550dd65d66580b016dfb03dade7 /binaryninjacore.h | |
| parent | 741fb0538e0ac6ab14928f78697196803dbd2ed5 (diff) | |
Add data flow query options
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 2988637f..0e5a420b 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -785,6 +785,11 @@ extern "C" NotInSetOfValues }; + enum BNDataFlowQueryOption + { + FromAddressesInLookupTableQueryOption // Use addresses instead of index in the from list within LookupTableValue results + }; + enum BNPluginOrigin { OfficialPluginOrigin, @@ -3275,32 +3280,33 @@ __attribute__ ((format (printf, 1, 2))) uint32_t flag, size_t version); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILExprValue(BNLowLevelILFunction* func, size_t expr); - BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleExprValues(BNLowLevelILFunction* func, size_t expr); + BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleExprValues(BNLowLevelILFunction* func, size_t expr, + BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILRegisterValueAtInstruction(BNLowLevelILFunction* func, uint32_t reg, size_t instr); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILRegisterValueAfterInstruction(BNLowLevelILFunction* func, uint32_t reg, size_t instr); BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleRegisterValuesAtInstruction(BNLowLevelILFunction* func, - uint32_t reg, size_t instr); + uint32_t reg, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleRegisterValuesAfterInstruction(BNLowLevelILFunction* func, - uint32_t reg, size_t instr); + uint32_t reg, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILFlagValueAtInstruction(BNLowLevelILFunction* func, uint32_t flag, size_t instr); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILFlagValueAfterInstruction(BNLowLevelILFunction* func, uint32_t flag, size_t instr); BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleFlagValuesAtInstruction(BNLowLevelILFunction* func, - uint32_t flag, size_t instr); + uint32_t flag, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleFlagValuesAfterInstruction(BNLowLevelILFunction* func, - uint32_t flag, size_t instr); + uint32_t flag, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILStackContentsAtInstruction(BNLowLevelILFunction* func, int64_t offset, size_t len, size_t instr); BINARYNINJACOREAPI BNRegisterValue BNGetLowLevelILStackContentsAfterInstruction(BNLowLevelILFunction* func, int64_t offset, size_t len, size_t instr); BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleStackContentsAtInstruction(BNLowLevelILFunction* func, - int64_t offset, size_t len, size_t instr); + int64_t offset, size_t len, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNPossibleValueSet BNGetLowLevelILPossibleStackContentsAfterInstruction(BNLowLevelILFunction* func, - int64_t offset, size_t len, size_t instr); + int64_t offset, size_t len, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNMediumLevelILFunction* BNGetMediumLevelILForLowLevelIL(BNLowLevelILFunction* func); BINARYNINJACOREAPI BNMediumLevelILFunction* BNGetMappedMediumLevelIL(BNLowLevelILFunction* func); @@ -3399,8 +3405,9 @@ __attribute__ ((format (printf, 1, 2))) const BNVariable* var, size_t version); BINARYNINJACOREAPI BNRegisterValue BNGetMediumLevelILExprValue(BNMediumLevelILFunction* func, size_t expr); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleSSAVarValues(BNMediumLevelILFunction* func, - const BNVariable* var, size_t version, size_t instr); - BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleExprValues(BNMediumLevelILFunction* func, size_t expr); + const BNVariable* var, size_t version, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); + BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleExprValues(BNMediumLevelILFunction* func, size_t expr, + BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI size_t BNGetMediumLevelILSSAVarVersionAtILInstruction(BNMediumLevelILFunction* func, const BNVariable* var, size_t instr); @@ -3418,25 +3425,25 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI BNRegisterValue BNGetMediumLevelILRegisterValueAfterInstruction(BNMediumLevelILFunction* func, uint32_t reg, size_t instr); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleRegisterValuesAtInstruction(BNMediumLevelILFunction* func, - uint32_t reg, size_t instr); + uint32_t reg, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleRegisterValuesAfterInstruction(BNMediumLevelILFunction* func, - uint32_t reg, size_t instr); + uint32_t reg, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNRegisterValue BNGetMediumLevelILFlagValueAtInstruction(BNMediumLevelILFunction* func, uint32_t flag, size_t instr); BINARYNINJACOREAPI BNRegisterValue BNGetMediumLevelILFlagValueAfterInstruction(BNMediumLevelILFunction* func, uint32_t flag, size_t instr); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleFlagValuesAtInstruction(BNMediumLevelILFunction* func, - uint32_t flag, size_t instr); + uint32_t flag, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleFlagValuesAfterInstruction(BNMediumLevelILFunction* func, - uint32_t flag, size_t instr); + uint32_t flag, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNRegisterValue BNGetMediumLevelILStackContentsAtInstruction(BNMediumLevelILFunction* func, int64_t offset, size_t len, size_t instr); BINARYNINJACOREAPI BNRegisterValue BNGetMediumLevelILStackContentsAfterInstruction(BNMediumLevelILFunction* func, int64_t offset, size_t len, size_t instr); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleStackContentsAtInstruction(BNMediumLevelILFunction* func, - int64_t offset, size_t len, size_t instr); + int64_t offset, size_t len, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNPossibleValueSet BNGetMediumLevelILPossibleStackContentsAfterInstruction(BNMediumLevelILFunction* func, - int64_t offset, size_t len, size_t instr); + int64_t offset, size_t len, size_t instr, BNDataFlowQueryOption* options, size_t optionCount); BINARYNINJACOREAPI BNILBranchDependence BNGetMediumLevelILBranchDependence(BNMediumLevelILFunction* func, size_t curInstr, size_t branchInstr); |
