Vector35 / Vector35/binaryninja-api

Custom analyze_basic_blocks() impl doesn't run on entry point

Aperta
#8,315 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@zznop ci sta già lavorando.

Dal 14/7/2026.

State: Awaiting Triage
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):
Image

Steps To Reproduce:

  1. Install https://github.com/m1stadev/binavry + dependencies
  2. Load firmware.hex (basic ATmega328P example binary)
  3. 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.