diff options
| author | Zichuan Li <lizic@iu.edu> | 2024-05-21 17:56:03 -0400 |
|---|---|---|
| committer | Zichuan Li <34680029+river-li@users.noreply.github.com> | 2024-05-28 12:22:23 -0400 |
| commit | 9537f33da6b8de883a45c4b7758f0dc5c1438ed7 (patch) | |
| tree | 08e9844aab5b9e830d9b30303b59fd0f022bea5a /view/pe/peview.cpp | |
| parent | 2a6cef7eac64dc3df4a17ba3dc73fb5e1046fc29 (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 'view/pe/peview.cpp')
| -rw-r--r-- | view/pe/peview.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/view/pe/peview.cpp b/view/pe/peview.cpp index 89740413..bdf8175d 100644 --- a/view/pe/peview.cpp +++ b/view/pe/peview.cpp @@ -1920,6 +1920,8 @@ bool PEView::Init() m_logger->LogInfo("Found TLS entrypoint %s: 0x%" PRIx64, name, address); Ref<Platform> assPlatform = platform->GetAssociatedPlatformByAddress(address); AddPESymbol(FunctionSymbol, "", name, address - m_imageBase); + auto func = AddFunctionForAnalysis(platform, address); + AddToEntryFunctions(func); } else m_logger->LogInfo("Found TLS entrypoint %s: 0x%" PRIx64 " however it is not backed by file!", |
