0x41337/android-arm64-stealth-loader
GitHub: 0x41337/android-arm64-stealth-loader
面向 Android ARM64 的 Rust 内存 ELF 加载器,支持无文件系统、无 dlopen 的反射式共享库加载。
Stars: 0 | Forks: 0
# android-arm64-stealth-loader
用于 **aarch64-linux-android** 的内存(反射式)ELF加载器。
从内存缓冲区加载 `.so` 文件,无需写入磁盘或调用 `dlopen`。
## 用法
```
use stealth_loader::{LoaderContext, NullProvider};
let elf_bytes = std::fs::read("libmodule.so").unwrap();
let mut ctx = LoaderContext::new(NullProvider);
let module = ctx.load(&elf_bytes).unwrap();
println!("Base: {:#x}, State: {:?}", module.base(), module.state);
```
## 特性
- **反射式加载**:无文件系统写入,无 `dlopen`/`android_dlopen_ext`
- **依赖解析**:解析 `DT_NEEDED`,加载所有传递依赖
- **TLS支持**:支持完整的线程本地存储,实现线程间隔离
- **符号解析**:通过 `dlsym(RTLD_DEFAULT)` 解析导入符号
## 环境要求
- Rust 2021 edition
- 目标平台:`aarch64-linux-android`
- 依赖项:`goblin`、`libc`、`thiserror`
## 构建
```
cargo check --target aarch64-linux-android
```
## 运行示例
```
cargo run --example basic
cargo run --example tls_multithread
cargo run --example custom_provider
```
## 许可证
MIT
标签:Android, ARM64, DNS 反向解析, DSL, ELF加载器, Rust, 内存加载, 可视化界面, 网络流量审计, 通知系统, 隐蔽加载