MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / entry_functions

Method entry_functions

python/binaryview.py:3227–3257  ·  view source on GitHub ↗

A List of entry functions (read-only) This list contains vanilla entry function, and functions like init_array, fini_array, and TLS callbacks etc. User-added entry functions(via `add_entry_point`) are also included. We see `entry_functions` as good starting points for analysis, these function

(self)

Source from the content-addressed store, hash-verified

3225
3226 @property
3227 def entry_functions(self) -> FunctionList:
3228 """A List of entry functions (read-only)
3229 This list contains vanilla entry function, and functions like init_array, fini_array, and TLS callbacks etc.
3230 User-added entry functions(via `add_entry_point`) are also included.
3231
3232 We see `entry_functions` as good starting points for analysis, these functions normally don't have internal references.
3233 However, note that exported functions in a dll/so file are not included.
3234
3235 Note the difference with `entry_function`
3236
3237 :Example:
3238
3239 >>> bv.entry_function
3240 <func: x86@0x4014c8>
3241 >>> bv.entry_functions
3242 [<func: x86@0x4014c8>, <func: x86@0x401618>]
3243
3244 :return: a list of functions, containing the vanilla entry and other platform-specific entry functions
3245 :rtype: list(Function)
3246 """
3247 count = ctypes.c_ulonglong(0)
3248 funcs = core.BNGetAllEntryFunctions(self.handle, count)
3249
3250 assert funcs is not None, "core.BNGetAllEntryFunctions returned None"
3251 result = []
3252 try:
3253 for i in range(0, count.value):
3254 result.append(_function.Function(self, core.BNNewFunctionReference(funcs[i])))
3255 return result
3256 finally:
3257 core.BNFreeFunctionList(funcs, count.value)
3258
3259 @property
3260 def symbols(self) -> SymbolMapping:

Callers

nothing calls this directly

Calls 2

FunctionMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected