summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2018-10-23 22:29:15 -0400
committerPeter LaFosse <peter@vector35.com>2018-10-24 21:31:48 -0400
commit3cc05db3e42d402cb03fe3fb8ca582e3ded882f7 (patch)
tree816b76258e18809da59f60a847ab6067a5ad5c67 /binaryview.cpp
parentec7d4ac5ecfb59ce98ac64f2ed889b73655df746 (diff)
Add new APIs for querying data references
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp20
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();