Skip to content

[AArch64] The BRK instruction prematurely ends a block, even if it still contains valid instructions #8683

Open

Description

@joaquimbc

Version and Platform (required):

  • Binary Ninja Version: 6.1.11003
  • Edition: Non-Commercial
  • OS: Windows 11 25H2
  • CPU Architecture: x64

Bug Description:
No code is disassembled after any BRK instruction, even if there's perfectly fine code after it which leads to functions with many gaps on them

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:
Disassemble anything containing code after a BRK instruction

Expected Behavior:
AArch64 treats BRK as a breakpoint exception, but it has no specifications saying the instruction cannot return

Screenshots/Video Recording:
Image

Activity

  1. psifertex commented on Oct 23, 2026

    @psifertex
    Member

    This is by design. If control flow is handed off to a debugger at that point you don't know if it will ever return.

    You are welcome to modify the behavior of the architecture yourself and run a modified version but I doubt we will change the default.

    I could see us creating a setting for this potentially though so I will leave the issue open to discuss that.

    All that said, I believe guided analysis mode is the intended solution when you want to manually control this behavior on a one-off basis. Give that a try and see if "continue analysis" works:

    https://docs.binary.ninja/guide/guided_analysis.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions