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 /binaryninjaapi.h | |
| parent | 741fb0538e0ac6ab14928f78697196803dbd2ed5 (diff) | |
Add data flow query options
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index b4b9a602..ec512972 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -3625,21 +3625,29 @@ __attribute__ ((format (printf, 1, 2))) RegisterValue GetExprValue(size_t expr); RegisterValue GetExprValue(const LowLevelILInstruction& expr); - PossibleValueSet GetPossibleExprValues(size_t expr); - PossibleValueSet GetPossibleExprValues(const LowLevelILInstruction& expr); + PossibleValueSet GetPossibleExprValues(size_t expr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleExprValues(const LowLevelILInstruction& expr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); RegisterValue GetRegisterValueAtInstruction(uint32_t reg, size_t instr); RegisterValue GetRegisterValueAfterInstruction(uint32_t reg, size_t instr); - PossibleValueSet GetPossibleRegisterValuesAtInstruction(uint32_t reg, size_t instr); - PossibleValueSet GetPossibleRegisterValuesAfterInstruction(uint32_t reg, size_t instr); + PossibleValueSet GetPossibleRegisterValuesAtInstruction(uint32_t reg, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleRegisterValuesAfterInstruction(uint32_t reg, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); RegisterValue GetFlagValueAtInstruction(uint32_t flag, size_t instr); RegisterValue GetFlagValueAfterInstruction(uint32_t flag, size_t instr); - PossibleValueSet GetPossibleFlagValuesAtInstruction(uint32_t flag, size_t instr); - PossibleValueSet GetPossibleFlagValuesAfterInstruction(uint32_t flag, size_t instr); + PossibleValueSet GetPossibleFlagValuesAtInstruction(uint32_t flag, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleFlagValuesAfterInstruction(uint32_t flag, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); RegisterValue GetStackContentsAtInstruction(int32_t offset, size_t len, size_t instr); RegisterValue GetStackContentsAfterInstruction(int32_t offset, size_t len, size_t instr); - PossibleValueSet GetPossibleStackContentsAtInstruction(int32_t offset, size_t len, size_t instr); - PossibleValueSet GetPossibleStackContentsAfterInstruction(int32_t offset, size_t len, size_t instr); + PossibleValueSet GetPossibleStackContentsAtInstruction(int32_t offset, size_t len, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleStackContentsAfterInstruction(int32_t offset, size_t len, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); Ref<MediumLevelILFunction> GetMediumLevelIL() const; Ref<MediumLevelILFunction> GetMappedMediumLevelIL() const; @@ -3951,9 +3959,12 @@ __attribute__ ((format (printf, 1, 2))) RegisterValue GetSSAVarValue(const SSAVariable& var); RegisterValue GetExprValue(size_t expr); RegisterValue GetExprValue(const MediumLevelILInstruction& expr); - PossibleValueSet GetPossibleSSAVarValues(const SSAVariable& var, size_t instr); - PossibleValueSet GetPossibleExprValues(size_t expr); - PossibleValueSet GetPossibleExprValues(const MediumLevelILInstruction& expr); + PossibleValueSet GetPossibleSSAVarValues(const SSAVariable& var, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleExprValues(size_t expr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleExprValues(const MediumLevelILInstruction& expr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); size_t GetSSAVarVersionAtInstruction(const Variable& var, size_t instr) const; size_t GetSSAMemoryVersionAtInstruction(size_t instr) const; @@ -3963,16 +3974,22 @@ __attribute__ ((format (printf, 1, 2))) RegisterValue GetRegisterValueAtInstruction(uint32_t reg, size_t instr); RegisterValue GetRegisterValueAfterInstruction(uint32_t reg, size_t instr); - PossibleValueSet GetPossibleRegisterValuesAtInstruction(uint32_t reg, size_t instr); - PossibleValueSet GetPossibleRegisterValuesAfterInstruction(uint32_t reg, size_t instr); + PossibleValueSet GetPossibleRegisterValuesAtInstruction(uint32_t reg, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleRegisterValuesAfterInstruction(uint32_t reg, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); RegisterValue GetFlagValueAtInstruction(uint32_t flag, size_t instr); RegisterValue GetFlagValueAfterInstruction(uint32_t flag, size_t instr); - PossibleValueSet GetPossibleFlagValuesAtInstruction(uint32_t flag, size_t instr); - PossibleValueSet GetPossibleFlagValuesAfterInstruction(uint32_t flag, size_t instr); + PossibleValueSet GetPossibleFlagValuesAtInstruction(uint32_t flag, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleFlagValuesAfterInstruction(uint32_t flag, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); RegisterValue GetStackContentsAtInstruction(int32_t offset, size_t len, size_t instr); RegisterValue GetStackContentsAfterInstruction(int32_t offset, size_t len, size_t instr); - PossibleValueSet GetPossibleStackContentsAtInstruction(int32_t offset, size_t len, size_t instr); - PossibleValueSet GetPossibleStackContentsAfterInstruction(int32_t offset, size_t len, size_t instr); + PossibleValueSet GetPossibleStackContentsAtInstruction(int32_t offset, size_t len, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); + PossibleValueSet GetPossibleStackContentsAfterInstruction(int32_t offset, size_t len, size_t instr, + const std::set<BNDataFlowQueryOption>& options = std::set<BNDataFlowQueryOption>()); BNILBranchDependence GetBranchDependenceAtInstruction(size_t curInstr, size_t branchInstr) const; std::unordered_map<size_t, BNILBranchDependence> GetAllBranchDependenceAtInstruction(size_t instr) const; |
