Vector35 / Vector35/binaryninja-api

add support for arm64_32

Open
#2,755 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Architecture Effort: Medium Impact: Medium
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

arm64_32 is an architecture variant used by (at least) the Apple Watch S4 and newer as well as the HomePod. It is arm64 encodings and instructions but uses 32bit pointers.

Apparently you can manually patch existing MachO files with a new CPU subtype (0xc) to get armv7 default platform and pointer width and use open with options to specify an aarch64 arch and get decent results but we should make this process work out of the box and set things appropriately.

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

The issue names no file or test entry point; start by locating Mach-O CPU subtype handling and the existing arm64 architecture support. Verify that arm64_32 files work without manual patching and that the platform and pointer width are set appropriately.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.