From fdada2c752ab21cce2f6971e3270a4a3eb4faada Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 28 Jul 2016 00:06:34 -0400 Subject: Add API to remove user function --- binaryninjaapi.h | 1 + binaryninjacore.h | 1 + binaryview.cpp | 6 ++++++ python/__init__.py | 3 +++ 4 files changed, 11 insertions(+) diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 7a6b3280..81bf571a 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -816,6 +816,7 @@ namespace BinaryNinja void AddEntryPointForAnalysis(Platform* platform, uint64_t start); void RemoveAnalysisFunction(Function* func); void CreateUserFunction(Platform* platform, uint64_t start); + void RemoveUserFunction(Function* func); void UpdateAnalysis(); void AbortAnalysis(); diff --git a/binaryninjacore.h b/binaryninjacore.h index 1cc5bd75..22dbab50 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -1292,6 +1292,7 @@ extern "C" BINARYNINJACOREAPI void BNAddEntryPointForAnalysis(BNBinaryView* view, BNPlatform* platform, uint64_t addr); BINARYNINJACOREAPI void BNRemoveAnalysisFunction(BNBinaryView* view, BNFunction* func); BINARYNINJACOREAPI void BNCreateUserFunction(BNBinaryView* view, BNPlatform* platform, uint64_t addr); + BINARYNINJACOREAPI void BNRemoveUserFunction(BNBinaryView* view, BNFunction* func); BINARYNINJACOREAPI void BNUpdateAnalysis(BNBinaryView* view); BINARYNINJACOREAPI void BNAbortAnalysis(BNBinaryView* view); diff --git a/binaryview.cpp b/binaryview.cpp index de0870b6..d97051c7 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -791,6 +791,12 @@ void BinaryView::CreateUserFunction(Platform* platform, uint64_t start) } +void BinaryView::RemoveUserFunction(Function* func) +{ + BNRemoveUserFunction(m_object, func->GetObject()); +} + + void BinaryView::UpdateAnalysis() { BNUpdateAnalysis(m_object); diff --git a/python/__init__.py b/python/__init__.py index b6fa9294..ba3f1ba9 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -1411,6 +1411,9 @@ class BinaryView(object): def create_user_function(self, platform, addr): core.BNCreateUserFunction(self.handle, platform.handle, addr) + def remove_user_function(self, func): + core.BNRemoveUserFunction(self.handle, func.handle) + def update_analysis(self): core.BNUpdateAnalysis(self.handle) -- cgit v1.3.1