Vector35 / Vector35/binaryninja-api
Performance issues arise when importing and using large header file
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Version and Platform (required):
- Binary Ninja Version: 5.2.8722-Stable
- Edition: Non-Commercial
- OS: Windows 11
- OS Version: 25H2
- CPU Architecture: x86_64
Bug Description:
For example, this cached_types.hpp file contains approximately 600,000 types:
Parsing this header file took about 5 minutes, and checking and unchecking all the boxes also took about 5 minutes.
After importing types, applying types to any function takes about 2-3 seconds per function, which is very slow.
Steps To Reproduce:
- Perform a complete analysis of unpacked_GameAssembly.dll
- Import cached_types.hpp
- Modify the type of any function.
Expected Behavior:
After setting bv.set_analysis_hold(True), the application type should not be so slow. IDA Pro 9.2 does not have this problem.
Screenshots/Video Recording:
If applicable, please add screenshots/video recording here to help explain your problem.
Binary:
Uploaded through the portal: vine way watches algorithmically
The compressed file contains the target binary, header files, and the script (il2cpp.py) for importing symbols.
Additional Information:
There are no other issues, it's just that the application speed of type is very slow.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the report using the supplied cached_types.hpp, target binary, and il2cpp.py, following the listed analysis, import, and function-type steps. Measure header parsing, checkbox interaction, and type application with analysis hold enabled, then identify the responsible Binary Ninja API or analysis path. Done means these operations no longer take minutes or several seconds per function.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- performance, reverse-engineering
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100