diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2016-01-31 03:10:41 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2016-01-31 03:10:41 -0500 |
| commit | f0ab57068974f11cc19a95e9672af22ba2ea2ae2 (patch) | |
| tree | 054ef39ec6824ca2cb8f2252e5d8c5feb32a07ab | |
| parent | a48ce3f4aa1266d5b8619cf320a703ba4f697854 (diff) | |
Create functions and types from function pointer parameters, now finds main() on Linux armv7
| -rw-r--r-- | binaryninjaapi.h | 2 | ||||
| -rw-r--r-- | function.cpp | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index c57bdf3a..42a29388 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1246,6 +1246,7 @@ namespace BinaryNinja Ref<Symbol> GetSymbol() const; bool WasAutomaticallyDiscovered() const; bool CanReturn() const; + bool HasExplicitlyDefinedType() const; std::vector<Ref<BasicBlock>> GetBasicBlocks() const; void MarkRecentUse(); @@ -1267,6 +1268,7 @@ namespace BinaryNinja Ref<Type> GetType() const; void ApplyImportedTypes(Symbol* sym); + void ApplyAutoDiscoveredType(Type* type); Ref<FunctionGraph> CreateFunctionGraph(); }; diff --git a/function.cpp b/function.cpp index 20b7ee89..ee2c5d36 100644 --- a/function.cpp +++ b/function.cpp @@ -46,6 +46,12 @@ bool Function::CanReturn() const } +bool Function::HasExplicitlyDefinedType() const +{ + return BNFunctionHasExplicitlyDefinedType(m_object); +} + + vector<Ref<BasicBlock>> Function::GetBasicBlocks() const { size_t count; @@ -193,6 +199,12 @@ void Function::ApplyImportedTypes(Symbol* sym) } +void Function::ApplyAutoDiscoveredType(Type* type) +{ + BNApplyAutoDiscoveredFunctionType(m_object, type->GetObject()); +} + + Ref<FunctionGraph> Function::CreateFunctionGraph() { BNFunctionGraph* graph = BNCreateFunctionGraph(m_object); |
