diff options
| author | Peter LaFosse <peter@vector35.com> | 2018-10-23 22:29:15 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2018-10-24 21:31:48 -0400 |
| commit | 3cc05db3e42d402cb03fe3fb8ca582e3ded882f7 (patch) | |
| tree | 816b76258e18809da59f60a847ab6067a5ad5c67 /binaryview.cpp | |
| parent | ec7d4ac5ecfb59ce98ac64f2ed889b73655df746 (diff) | |
Add new APIs for querying data references
Diffstat (limited to 'binaryview.cpp')
| -rw-r--r-- | binaryview.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index 4447494e..1302b0cb 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -1415,6 +1415,26 @@ vector<ReferenceSource> BinaryView::GetCodeReferences(uint64_t addr, uint64_t le } +vector<uint64_t> BinaryView::GetDataReferences(uint64_t addr) +{ + size_t count; + uint64_t* refs = BNGetDataReferences(m_object, addr, &count); + vector<uint64_t> result(refs, &refs[count]); + BNFreeDataReferences(refs); + return result; +} + + +vector<uint64_t> BinaryView::GetDataReferences(uint64_t addr, uint64_t len) +{ + size_t count; + uint64_t* refs = BNGetDataReferencesInRange(m_object, addr, len, &count); + vector<uint64_t> result(refs, &refs[count]); + BNFreeDataReferences(refs); + return result; +} + + Ref<Symbol> BinaryView::GetSymbolByAddress(uint64_t addr, const NameSpace& nameSpace) { BNNameSpace ns = nameSpace.GetAPIObject(); |
