Skip to content

Commit a7ff085

Browse files
committed
AArch64 stack-string extraction via bad64
1 parent 74665f9 commit a7ff085

8 files changed

Lines changed: 845 additions & 17 deletions

File tree

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ clap = { version = "4", features = ["derive"] }
4242
anyhow = "1"
4343
memmap2 = "0.9"
4444
iced-x86 = "1"
45+
# Pure-Rust AArch64 disassembler. Optional, gated behind the
46+
# `aarch64` feature in strix-emulator so x86-only builds don't
47+
# pull it in.
48+
bad64 = "0.12"
4549

4650
[profile.release]
4751
opt-level = 3

crates/strix-cli/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ env_logger = { workspace = true }
2323
[features]
2424
default = []
2525
unicorn = ["strix/unicorn"]
26+
aarch64 = ["strix/aarch64"]

crates/strix-emulator/Cargo.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,16 @@ default = []
1818
# Gate Unicorn behind a feature so users who only need static + lang
1919
# strings don't have to link the C library.
2020
unicorn = ["dep:unicorn-engine"]
21+
# Opt-in AArch64 support. Pulls in `bad64` for AArch64 disassembly
22+
# and turns on the aarch64-specific function discovery + stack-
23+
# string pattern matcher. Off by default so x86-only users don't
24+
# pay for it.
25+
aarch64 = ["dep:bad64"]
2126

2227
[dependencies.unicorn-engine]
2328
version = "2"
2429
optional = true
30+
31+
[dependencies.bad64]
32+
workspace = true
33+
optional = true

0 commit comments

Comments
 (0)