Vector35 / Vector35/binaryninja-api
Custom analyze_basic_blocks() impl doesn't run on entry point
@zznop ci sta già lavorando.
Dal 14/7/2026.
- Lingua principale
- C++
- Stelle
- 1.3k
- Fork
- 298
- Merge medio
- 5g 5h
- PR unite (30g)
- 19
Descrizione
Version and Platform (required):
- Binary Ninja Version: 5.3.9757/5.4.10060-dev
- Edition: Personal
- OS: macOS
- OS Version: Sequoia 15.7.7
- CPU Architecture: M1 Pro
Bug Description:
I'm currently writing a plugin for the AVR architecture (https://github.com/m1stadev/binavry), and I wrote a custom Architecture.analyze_basic_blocks() implementation for reading MCU-specific IO registers stored in the BinaryView & saving them to the shared context. I use them in Architecture.get_instruction_text_with_context() to have IO addresses display the proper register names, but analyze_basic_blocks() doesn't seem to run on the entry function, leaving the IO registers unnamed (picture example below is interrupt table, RESET is the entry point, INT0 jumps to it):
Steps To Reproduce:
- Install https://github.com/m1stadev/binavry + dependencies
- Load firmware.hex (basic ATmega328P example binary)
- View unmodified entry point IO register addresses
Expected Behavior:
Architecture.analyze_basic_blocks() running on the entry point function
Additional Information:
Adding other entry points using bv.add_entry_point() or bv.add_to_entry_functions() still calls Architecture.analyze_basic_blocks()
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Valutazione
Questa issue non è ancora stata valutata.