Vector35 / Vector35/binaryninja-api

User-compiled arch plugins ignored by bundled platform plugins

Open
#8,498 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Regression
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

Version and Platform (required):

  • Binary Ninja Version: 6.0.10526-dev
  • Edition: Ultimate
  • OS: macOS
  • OS Version: 26.6
  • CPU Architecture: arm64

Bug Description:
I compiled the arch_arm64 plugin standalone and installed it into BN_USER_DIR/plugins, and now none of the aarch64 platforms have been registered. It seems that platform_linux/_windows/etc are loaded before my user arch_arm64 and therefore load without considering it and don't create platforms for it.

Steps To Reproduce:

  1. Disable corePlugins.architectures.aarch64
  2. Compile arch/arm64 and install the plugin as normal
  3. Open binja
  4. Console: Platform["linux-aarch64"]
  5. Observe: KeyError: "'linux-aarch64' is not a valid platform"

Expected Behavior:
I expected the Platform to load with my user plugin override.

Additional Information:
This is a regression from 5.3 stable.

Workaround: Compile all of the platform plugins manually and install them as user plugins, too.

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.

Research direction

Start by reproducing the missing linux-aarch64 platform with corePlugins.architectures.aarch64 disabled and a user-installed arch/arm64 plugin. Trace the loading order for arch_arm64 and the platform_linux/platform_windows plugins, then verify that Platform["linux-aarch64"] succeeds without compiling platform plugins manually.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.