From 5e539bf3e497a9781037fcddf6be6a51e551fce4 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Sat, 30 May 2015 20:09:44 -0400 Subject: Move analysis undo events into core, and add P hotkey to disassembly view --- binaryninjaapi.h | 4 ++++ binaryview.cpp | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 880924cd..0b9f91bb 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -520,6 +520,7 @@ namespace BinaryNinja void AddFunctionForAnalysis(Architecture* arch, uint64_t addr); void AddEntryPointForAnalysis(Architecture* arch, uint64_t start); void RemoveAnalysisFunction(Function* func); + void CreateUserFunction(Architecture* arch, uint64_t start); void UpdateAnalysis(); void AbortAnalysis(); @@ -546,6 +547,9 @@ namespace BinaryNinja void DefineSymbol(Symbol* sym); void UndefineSymbol(Symbol* sym); + void DefineUserSymbol(Symbol* sym); + void UndefineUserSymbol(Symbol* sym); + bool IsNeverBranchPatchAvailable(Architecture* arch, uint64_t addr); bool IsAlwaysBranchPatchAvailable(Architecture* arch, uint64_t addr); bool IsInvertBranchPatchAvailable(Architecture* arch, uint64_t addr); diff --git a/binaryview.cpp b/binaryview.cpp index cabd7783..61d740a4 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -557,6 +557,12 @@ void BinaryView::RemoveAnalysisFunction(Function* func) } +void BinaryView::CreateUserFunction(Architecture* arch, uint64_t start) +{ + BNCreateUserFunction(m_view, arch->GetArchitectureObject(), start); +} + + void BinaryView::UpdateAnalysis() { BNUpdateAnalysis(m_view); @@ -751,6 +757,18 @@ void BinaryView::UndefineSymbol(Symbol* sym) } +void BinaryView::DefineUserSymbol(Symbol* sym) +{ + BNDefineUserSymbol(m_view, sym->GetSymbolObject()); +} + + +void BinaryView::UndefineUserSymbol(Symbol* sym) +{ + BNUndefineUserSymbol(m_view, sym->GetSymbolObject()); +} + + bool BinaryView::IsNeverBranchPatchAvailable(Architecture* arch, uint64_t addr) { return BNIsNeverBranchPatchAvailable(m_view, arch->GetArchitectureObject(), addr); -- cgit v1.3.1