summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2015-05-30 20:09:44 -0400
committerRusty Wagner <rusty@vector35.com>2015-05-30 20:09:44 -0400
commit5e539bf3e497a9781037fcddf6be6a51e551fce4 (patch)
tree574719d296d48b43a600ed06ebe69e9ffe964f75
parent00d5b250d8cd676d33bc83b0dd7a27ddecb987bc (diff)
Move analysis undo events into core, and add P hotkey to disassembly view
-rw-r--r--binaryninjaapi.h4
-rw-r--r--binaryview.cpp18
2 files changed, 22 insertions, 0 deletions
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);