Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

arm_decompiler

ARM64 → C-like decompiler (Mach-O / IPA today; ELF / Android planned), using the same pipeline shape as dex-decompiler.

See docs/ARM_DECOMPILER.md for the pipeline overview, docs/ARM64_DECOMPILER_PLAN.md for the roadmap, and docs/SWIFT_GHIDRA_ALIGNMENT.md for Swift/Ghidra parity.

Dependencies

This crate currently path-depends on sibling apple-re packages (macho_core, apple_metadata, ipa_vfs from apple-re; arm_disassembler sibling). Clone as siblings:

androguard/
  apple-re/
  arm_disassembler/
  arm_decompiler/   ← this repo

Build & test

cargo test
cargo test --test decompiler_tests scoreboard -- --nocapture
cargo test --test swift_ghidra_align

Rebuild fixtures (macOS + clang / swiftc):

cd testdata/decompiler_fixtures && ./build.sh
cd testdata/swift_fixtures && ./build.sh

Library usage

use arm_decompiler::{decompile_macho_symbol, DecompilerOptions};

let opts = DecompilerOptions::default();
let out = decompile_macho_symbol(&macho_bytes, "_main", &opts)?;
println!("{}", out.source);

CLI decompile remains in apple-re:

cargo run -p apple_re_cli --manifest-path ../apple-re/Cargo.toml -- decompile ./MyBinary -n _main

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages