ARM64 memory manipulation framework for iOS/macOS. Compiled as a static library (libspecter.a) consumed via a plain C/C++ header (specter.h).
Provides inline function hooking, stealth code patching, hardware breakpoints, memory read/write, symbol resolution, and shellcode loading — all targeting aarch64-apple-ios & aarch64-apple-darwin.
The release targets iOS (aarch64-apple-ios) and macOS (aarch64-apple-darwin).
rustup target add aarch64-apple-ios # once
make # builds both iOS and macOS (release)
make ios # iOS only
make macos # macOS only
make debug # both targets (debug)
make check # verify exported symbols match specter.h-L<path> -lspectre -lc++ -framework Foundation -framework Security
docs/usage.md — C/C++ API reference and examples
docs/rust.md — Rust API reference and examples
docs/architecture.md — Internal design and data flows
- Fork the repo and create a branch from
main. - Run
cargo fmt --allandcargo clippy --lib -- -D warningsbefore pushing. - Keep PRs focused — one logical change per pull request.
- Open an issue first for anything large or architectural.
Bug reports and feature requests are welcome via GitHub Issues.
This project is intended for educational and research purposes only. Use it only on devices and applications you own or have explicit authorization to test. The author is not responsible for any misuse or damage caused by this software.
MIT — see LICENSE.