summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorZichuan Li <lizic@iu.edu>2024-05-21 17:56:03 -0400
committerZichuan Li <34680029+river-li@users.noreply.github.com>2024-05-28 12:22:23 -0400
commit9537f33da6b8de883a45c4b7758f0dc5c1438ed7 (patch)
tree08e9844aab5b9e830d9b30303b59fd0f022bea5a /binaryninjaapi.h
parent2a6cef7eac64dc3df4a17ba3dc73fb5e1046fc29 (diff)
Solved issue #1180 by adding new APIs
1. Add two new APIs for multiple entry functions `GetAllAnalysisEntryFunctions` and `AddToEntryFunctions` 2. Add Python APIs `entry_functions` and `add_to_entry_functions`. `entry_functions` resturns a list of functions, which supports parsing functions in `init_array`, `fini_array` and TLS callbacks. 3. Modify bin-info, it now prints all entry functions
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 55b8ef55..114b6e85 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -4946,6 +4946,12 @@ namespace BinaryNinja {
*/
void AddEntryPointForAnalysis(Platform* platform, uint64_t start);
+ /*! adds an function to all entry function list
+
+ \param func Function to add
+ */
+ void AddToEntryFunctions(Function* func);
+
/*! removes a function from the list of functions
\param func Function to be removed
@@ -5089,6 +5095,11 @@ namespace BinaryNinja {
*/
Ref<Function> GetAnalysisEntryPoint();
+ /*! Get all entry functions (including user-defined ones)
+
+ \return vector of Functions
+ */
+ std::vector<Ref<Function>> GetAllEntryFunctions();
/*! Get most recently used Basic Block containing a virtual address