diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-05-30 04:20:27 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2016-05-30 04:20:27 -0400 |
| commit | 56d270363e63b45c2032f4e73d02f9e2a92c76c2 (patch) | |
| tree | 5a14ddd6954f1eff81e590f5961b07c7aa8093e7 /binaryninjacore.h | |
| parent | 0c3c4285a38d70bafb089b85e6764d0f4153ff9c (diff) | |
Add APIs for querying stack variable values and parameters by index
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 20 |
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); |
