diff options
| author | Rusty Wagner <rusty@vector35.com> | 2015-02-18 00:44:25 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2015-02-18 00:44:25 -0500 |
| commit | 3f36f01667138e248d030701b9c0c047c1c7f5d7 (patch) | |
| tree | 07ca9fc0c591a747408eacba1208a7ab6ddf0c7e /binaryninjaapi.h | |
| parent | 256e44f3a1443e1e9fd689387f09ea37d57dbcf8 (diff) | |
Add simple basic block analysis
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index dbbd4b25..331fa1fb 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -278,6 +278,8 @@ namespace BinaryNinja virtual size_t Write(uint64_t offset, const void* src, size_t len) override; }; + class Architecture; + class BinaryView: public RefCountObject { protected: @@ -294,6 +296,7 @@ namespace BinaryNinja static BNModificationStatus GetModificationCallback(void* ctxt, uint64_t offset); static uint64_t GetStartCallback(void* ctxt); static uint64_t GetLengthCallback(void* ctxt); + static uint64_t GetEntryPointCallback(void* ctxt); static bool IsExecutableCallback(void* ctxt); static bool SaveCallback(void* ctxt, BNFileAccessor* file); @@ -305,6 +308,7 @@ namespace BinaryNinja virtual BNModificationStatus PerformGetModification(uint64_t offset) { (void)offset; return Original; } virtual uint64_t PerformGetStart() const { return 0; } virtual uint64_t PerformGetLength() const { return 0; } + virtual uint64_t PerformGetEntryPoint() const { return 0; } virtual bool PerformIsExecutable() const { return false; } virtual bool PerformSave(FileAccessor* file) { (void)file; return false; } @@ -346,6 +350,7 @@ namespace BinaryNinja uint64_t GetStart() const; uint64_t GetEnd() const; uint64_t GetLength() const; + uint64_t GetEntryPoint() const; bool IsExecutable() const; @@ -354,6 +359,9 @@ namespace BinaryNinja void RegisterNotification(BinaryDataNotification* notify); void UnregisterNotification(BinaryDataNotification* notify); + + void AddFunctionForAnalysis(Architecture* arch, uint64_t addr); + void UpdateAnalysis(); }; class BinaryData: public BinaryView |
