From a401883aa235b222ceed191f455a776b23a3a689 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Fri, 14 Aug 2015 02:45:01 -0400 Subject: Recognize PLT entries on x86 Linux --- functionrecognizer.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 functionrecognizer.cpp (limited to 'functionrecognizer.cpp') diff --git a/functionrecognizer.cpp b/functionrecognizer.cpp new file mode 100644 index 00000000..6aa89098 --- /dev/null +++ b/functionrecognizer.cpp @@ -0,0 +1,33 @@ +#include "binaryninjaapi.h" + +using namespace BinaryNinja; + + +FunctionRecognizer::FunctionRecognizer() +{ +} + + +bool FunctionRecognizer::RecognizeLowLevelILCallback(void* ctxt, BNBinaryView* data, BNFunction* func, BNLowLevelILFunction* il) +{ + FunctionRecognizer* recog = (FunctionRecognizer*)ctxt; + Ref dataObj = new BinaryView(BNNewViewReference(data)); + Ref funcObj = new Function(BNNewFunctionReference(func)); + Ref ilObj = new LowLevelILFunction(BNNewLowLevelILFunctionReference(il)); + return recog->RecognizeLowLevelIL(dataObj, funcObj, ilObj); +} + + +void FunctionRecognizer::RegisterGlobalRecognizer(FunctionRecognizer* recog) +{ + BNFunctionRecognizer reg; + reg.context = recog; + reg.recognizeLowLevelIL = RecognizeLowLevelILCallback; + BNRegisterGlobalFunctionRecognizer(®); +} + + +bool FunctionRecognizer::RecognizeLowLevelIL(BinaryView*, Function*, LowLevelILFunction*) +{ + return false; +} -- cgit v1.3.1