From c34409b32940ea37dac2b502e6ad354343440bc8 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 25 Jun 2020 21:46:22 -0400 Subject: Support inferring structure members from other IL types --- ui/commands.h | 3 ++- ui/linearview.h | 2 +- ui/uitypes.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/commands.h b/ui/commands.h index 0a591437..dee43c3a 100644 --- a/ui/commands.h +++ b/ui/commands.h @@ -18,7 +18,8 @@ bool BINARYNINJAUIAPI askForNewType(QWidget* parent, BinaryViewRef data, Functio TypeRef& type, BinaryNinja::QualifiedName& name); bool BINARYNINJAUIAPI inputNewType(QWidget* parent, BinaryViewRef data, FunctionRef currentFunction, uint64_t currentAddr, HighlightTokenState& highlight); -bool BINARYNINJAUIAPI createInferredMember(QWidget* parent, BinaryViewRef data, HighlightTokenState& highlight, FunctionRef func); +bool BINARYNINJAUIAPI createInferredMember(QWidget* parent, BinaryViewRef data, HighlightTokenState& highlight, + FunctionRef func, BNFunctionGraphType type); bool BINARYNINJAUIAPI overwriteCode(BinaryViewRef data, ArchitectureRef arch, uint64_t addr, size_t len, const BinaryNinja::DataBuffer& buffer); diff --git a/ui/linearview.h b/ui/linearview.h index b149f234..62c0440a 100644 --- a/ui/linearview.h +++ b/ui/linearview.h @@ -222,7 +222,7 @@ private Q_SLOTS: void makePtr(); void makeString(); void changeType(); - void createStructOrinferStructureType(); + void createStructOrInferStructureType(); void createArray(); void createStruct(); void createNewTypes(); diff --git a/ui/uitypes.h b/ui/uitypes.h index 5ea7e300..bfdc9553 100644 --- a/ui/uitypes.h +++ b/ui/uitypes.h @@ -48,6 +48,7 @@ typedef BinaryNinja::Ref FunctionRef; typedef BinaryNinja::Ref LowLevelILFunctionRef; typedef BinaryNinja::Ref MainThreadActionRef; typedef BinaryNinja::Ref MediumLevelILFunctionRef; +typedef BinaryNinja::Ref HighLevelILFunctionRef; typedef BinaryNinja::Ref PlatformRef; typedef BinaryNinja::Ref ReportCollectionRef; typedef BinaryNinja::Ref ScriptingInstanceRef; -- cgit v1.3.1