Vector35 / Vector35/binaryninja-api

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

Open
#8,315 0 comments 0 reactions 1 assignee View on GitHub

@zznop is already working on this.

Since Jul 14, 2026.

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.