diff options
| author | Rusty Wagner <rusty@vector35.com> | 2015-08-17 22:41:58 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2015-08-17 22:41:58 -0400 |
| commit | 274e9caf8d26d8b4deb122898f75093c30177417 (patch) | |
| tree | ced40265110d83cee52fd43584894eb92936c000 /binaryninjaapi.h | |
| parent | f2dadb1046adc01f734182193d48f76a846ae662 (diff) | |
Architecture-specific function recognizers and ARM64 PLT analysis
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 28ef54b6..c875eb5b 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -408,6 +408,8 @@ namespace BinaryNinja uint64_t GetAddress() const; bool IsAutoDefined() const; void SetAutoDefined(bool val); + + static Ref<Symbol> ImportedFunctionFromImportAddressSymbol(Symbol* sym, uint64_t addr); }; struct ReferenceSource @@ -797,6 +799,7 @@ namespace BinaryNinja }; class LowLevelILFunction; + class FunctionRecognizer; typedef size_t ExprId; @@ -882,6 +885,8 @@ namespace BinaryNinja virtual bool AlwaysBranch(uint8_t* data, uint64_t addr, size_t len); virtual bool InvertBranch(uint8_t* data, uint64_t addr, size_t len); virtual bool SkipAndReturnValue(uint8_t* data, uint64_t addr, size_t len, uint64_t value); + + void RegisterFunctionRecognizer(FunctionRecognizer* recog); }; class CoreArchitecture: public Architecture @@ -1274,6 +1279,7 @@ namespace BinaryNinja FunctionRecognizer(); static void RegisterGlobalRecognizer(FunctionRecognizer* recog); + static void RegisterArchitectureFunctionRecognizer(Architecture* arch, FunctionRecognizer* recog); virtual bool RecognizeLowLevelIL(BinaryView* data, Function* func, LowLevelILFunction* il); }; |
