diff options
| author | Rusty Wagner <rusty@vector35.com> | 2018-03-07 18:10:55 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2018-03-07 18:11:24 -0500 |
| commit | 1c7349fcf125994f2e577361626fe1fb02eac029 (patch) | |
| tree | 9855e97a3572c41af9f07f27e6b12eb1f117bf5d /binaryninjaapi.h | |
| parent | 352949f41ea0b66c833f272d2a2a1e5a77a9507c (diff) | |
Add APIs for skipping analysis of functions that are too large, and overriding this behavior
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 89eba009..2d7e2ccf 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -866,6 +866,7 @@ namespace BinaryNinja static void FunctionAddedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); static void FunctionRemovedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); static void FunctionUpdatedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); + static void FunctionUpdateRequestedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); static void DataVariableAddedCallback(void* ctxt, BNBinaryView* data, BNDataVariable* var); static void DataVariableRemovedCallback(void* ctxt, BNBinaryView* data, BNDataVariable* var); static void DataVariableUpdatedCallback(void* ctxt, BNBinaryView* data, BNDataVariable* var); @@ -886,6 +887,7 @@ namespace BinaryNinja virtual void OnAnalysisFunctionAdded(BinaryView* view, Function* func) { (void)view; (void)func; } virtual void OnAnalysisFunctionRemoved(BinaryView* view, Function* func) { (void)view; (void)func; } virtual void OnAnalysisFunctionUpdated(BinaryView* view, Function* func) { (void)view; (void)func; } + virtual void OnAnalysisFunctionUpdateRequested(BinaryView* view, Function* func) { (void)view; (void)func; } virtual void OnDataVariableAdded(BinaryView* view, const DataVariable& var) { (void)view; (void)var; } virtual void OnDataVariableRemoved(BinaryView* view, const DataVariable& var) { (void)view; (void)var; } virtual void OnDataVariableUpdated(BinaryView* view, const DataVariable& var) { (void)view; (void)var; } @@ -1344,6 +1346,9 @@ namespace BinaryNinja std::string GetStringMetadata(const std::string& key); std::vector<uint8_t> GetRawMetadata(const std::string& key); uint64_t GetUIntMetadata(const std::string& key); + + uint64_t GetMaxFunctionSizeForAnalysis(); + void SetMaxFunctionSizeForAnalysis(uint64_t size); }; class BinaryData: public BinaryView @@ -2475,6 +2480,11 @@ namespace BinaryNinja Confidence<RegisterValue> GetGlobalPointerValue() const; Confidence<RegisterValue> GetRegisterValueAtExit(uint32_t reg) const; + + bool IsFunctionTooLarge(); + bool IsAnalysisSkipped(); + BNFunctionAnalysisSkipOverride GetAnalysisSkipOverride(); + void SetAnalysisSkipOverride(BNFunctionAnalysisSkipOverride skip); }; class AdvancedFunctionAnalysisDataRequestor @@ -2550,6 +2560,7 @@ namespace BinaryNinja void Abort(); std::vector<Ref<FunctionGraphBlock>> GetBlocks(); + bool HasBlocks() const; int GetWidth() const; int GetHeight() const; |
