diff options
| author | Xusheng <xusheng@vector35.com> | 2025-04-09 12:58:58 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2025-04-09 12:58:58 +0800 |
| commit | d4f7a4b26baee92d273328a6b24d90f23a9a6c2f (patch) | |
| tree | e8a7cc7321fc81ccd890ade3a1ec1ce7fcff6caf | |
| parent | 4403757cf9f0ad1cbca6f99d46b45f534edc66c0 (diff) | |
Expose AnalysisState through the API
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryninjacore.h | 1 | ||||
| -rw-r--r-- | binaryview.cpp | 6 | ||||
| -rw-r--r-- | python/binaryview.py | 5 |
4 files changed, 13 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 5c292481..2fe2ed09 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -6109,6 +6109,7 @@ namespace BinaryNinja { AnalysisInfo GetAnalysisInfo(); BNAnalysisProgress GetAnalysisProgress(); + BNAnalysisState GetAnalysisState(); Ref<BackgroundTask> GetBackgroundAnalysisTask(); /*! Returns the virtual address of the Function that occurs after the virtual address `addr` diff --git a/binaryninjacore.h b/binaryninjacore.h index 69dd4cc9..73236934 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -5068,6 +5068,7 @@ extern "C" BINARYNINJACOREAPI BNAnalysisInfo* BNGetAnalysisInfo(BNBinaryView* view); BINARYNINJACOREAPI void BNFreeAnalysisInfo(BNAnalysisInfo* info); BINARYNINJACOREAPI BNAnalysisProgress BNGetAnalysisProgress(BNBinaryView* view); + BINARYNINJACOREAPI BNAnalysisState BNGetAnalysisState(BNBinaryView* view); BINARYNINJACOREAPI BNBackgroundTask* BNGetBackgroundAnalysisTask(BNBinaryView* view); BINARYNINJACOREAPI uint64_t BNGetNextFunctionStartAfterAddress(BNBinaryView* view, uint64_t addr); diff --git a/binaryview.cpp b/binaryview.cpp index 241b40ca..7a6f3df3 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -3823,6 +3823,12 @@ BNAnalysisProgress BinaryView::GetAnalysisProgress() } +BNAnalysisState BinaryView::GetAnalysisState() +{ + return BNGetAnalysisState(m_object); +} + + Ref<BackgroundTask> BinaryView::GetBackgroundAnalysisTask() { BNBackgroundTask* task = BNGetBackgroundAnalysisTask(m_object); diff --git a/python/binaryview.py b/python/binaryview.py index b0ca13ef..10cd2fea 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -3372,6 +3372,11 @@ class BinaryView: return AnalysisProgress(result.state, result.count, result.total) @property + def analysis_state(self) -> AnalysisState: + """State of current analysis (read-only)""" + return core.BNGetAnalysisState(self.handle) + + @property def linear_disassembly(self) -> Iterator['lineardisassembly.LinearDisassemblyLine']: """Iterator for all lines in the linear disassembly of the view""" return self.get_linear_disassembly(None) |
