summaryrefslogtreecommitdiff
path: root/binaryninjacore.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 /binaryninjacore.h
parent0c3c4285a38d70bafb089b85e6764d0f4153ff9c (diff)
Add APIs for querying stack variable values and parameters by index
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index db6f6f27..39ee7e98 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1115,12 +1115,24 @@ extern "C"
BINARYNINJACOREAPI size_t* BNGetLowLevelILExitsForInstruction(BNFunction* func, BNArchitecture* arch, uint64_t addr,
size_t* count);
BINARYNINJACOREAPI void BNFreeLowLevelILInstructionList(size_t* list);
- BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAtInstruction(BNFunction* func, BNArchitecture* arch, uint64_t addr,
- uint32_t reg);
- BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAfterInstruction(BNFunction* func, BNArchitecture* arch, uint64_t addr,
- uint32_t reg);
+ BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAtInstruction(BNFunction* func, BNArchitecture* arch,
+ uint64_t addr, uint32_t reg);
+ BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAfterInstruction(BNFunction* func, BNArchitecture* arch,
+ uint64_t addr, uint32_t reg);
BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAtLowLevelILInstruction(BNFunction* func, size_t i, uint32_t reg);
BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAfterLowLevelILInstruction(BNFunction* func, size_t i, uint32_t reg);
+ BINARYNINJACOREAPI BNRegisterValue BNGetStackContentsAtInstruction(BNFunction* func, BNArchitecture* arch,
+ uint64_t addr, int64_t offset, size_t size);
+ BINARYNINJACOREAPI BNRegisterValue BNGetStackContentsAfterInstruction(BNFunction* func, BNArchitecture* arch,
+ uint64_t addr, int64_t offset, size_t size);
+ BINARYNINJACOREAPI BNRegisterValue BNGetStackContentsAtLowLevelILInstruction(BNFunction* func, size_t i,
+ int64_t offset, size_t size);
+ BINARYNINJACOREAPI BNRegisterValue BNGetStackContentsAfterLowLevelILInstruction(BNFunction* func, size_t i,
+ int64_t offset, size_t size);
+ BINARYNINJACOREAPI BNRegisterValue BNGetParameterValueAtInstruction(BNFunction* func, BNArchitecture* arch,
+ uint64_t addr, BNType* functionType, size_t i);
+ BINARYNINJACOREAPI BNRegisterValue BNGetParameterValueAtLowLevelILInstruction(BNFunction* func, size_t instr,
+ BNType* functionType, size_t i);
BINARYNINJACOREAPI void BNFreeRegisterValue(BNRegisterValue* value);
BINARYNINJACOREAPI uint32_t* BNGetRegistersReadByInstruction(BNFunction* func, BNArchitecture* arch, uint64_t addr,
size_t* count);