summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-05-30 04:20:27 -0400
committerRusty Wagner <rusty@vector35.com>2016-05-30 04:20:27 -0400
commit56d270363e63b45c2032f4e73d02f9e2a92c76c2 (patch)
tree5a14ddd6954f1eff81e590f5961b07c7aa8093e7 /binaryninjaapi.h
parent0c3c4285a38d70bafb089b85e6764d0f4153ff9c (diff)
Add APIs for querying stack variable values and parameters by index
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 50def47f..7ece4c4d 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1358,6 +1358,12 @@ namespace BinaryNinja
RegisterValue GetRegisterValueAfterInstruction(Architecture* arch, uint64_t addr, uint32_t reg);
RegisterValue GetRegisterValueAtLowLevelILInstruction(size_t i, uint32_t reg);
RegisterValue GetRegisterValueAfterLowLevelILInstruction(size_t i, uint32_t reg);
+ RegisterValue GetStackContentsAtInstruction(Architecture* arch, uint64_t addr, int64_t offset, size_t size);
+ RegisterValue GetStackContentsAfterInstruction(Architecture* arch, uint64_t addr, int64_t offset, size_t size);
+ RegisterValue GetStackContentsAtLowLevelILInstruction(size_t i, int64_t offset, size_t size);
+ RegisterValue GetStackContentsAfterLowLevelILInstruction(size_t i, int64_t offset, size_t size);
+ RegisterValue GetParameterValueAtInstruction(Architecture* arch, uint64_t addr, Type* functionType, size_t i);
+ RegisterValue GetParameterValueAtLowLevelILInstruction(size_t instr, Type* functionType, size_t i);
std::vector<uint32_t> GetRegistersReadByInstruction(Architecture* arch, uint64_t addr);
std::vector<uint32_t> GetRegistersWrittenByInstruction(Architecture* arch, uint64_t addr);
std::vector<StackVariableReference> GetStackVariablesReferencedByInstruction(Architecture* arch, uint64_t addr);