summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index e99ed738..6a218730 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -318,12 +318,50 @@ void BinaryView::AddFunctionForAnalysis(Architecture* arch, uint64_t addr)
}
+void BinaryView::AddEntryPointForAnalysis(Architecture* arch, uint64_t addr)
+{
+ BNAddEntryPointForAnalysis(m_view, arch->GetArchitectureObject(), addr);
+}
+
+
void BinaryView::UpdateAnalysis()
{
BNUpdateAnalysis(m_view);
}
+vector<Ref<Function>> BinaryView::GetAnalysisFunctionList()
+{
+ size_t count;
+ BNFunction** list = BNGetAnalysisFunctionList(m_view, &count);
+
+ vector<Ref<Function>> result;
+ for (size_t i = 0; i < count; i++)
+ result.push_back(new Function(BNNewFunctionReference(list[i])));
+
+ BNFreeFunctionList(list, count);
+ return result;
+}
+
+
+Ref<Function> BinaryView::GetAnalysisFunction(Architecture* arch, uint64_t addr)
+{
+ BNFunction* func = BNGetAnalysisFunction(m_view, arch->GetArchitectureObject(), addr);
+ if (!func)
+ return nullptr;
+ return new Function(func);
+}
+
+
+Ref<Function> BinaryView::GetAnalysisEntryPoint()
+{
+ BNFunction* func = BNGetAnalysisEntryPoint(m_view);
+ if (!func)
+ return nullptr;
+ return new Function(func);
+}
+
+
BinaryData::BinaryData(FileMetadata* file): BinaryView(BNCreateBinaryDataView(file->GetFileObject()))
{
}