libscan 是一个专为 FastScan 打造的内核级内存读写替换库。通过提供标准化的 C API 接口,你可以轻松替换 FastScan 中的内核读写实现,实现更强大的内存操作能力。
⚠️ 重要说明:本项目与之前的 KMA 项目不同,不再提供 syscall hook 功能,专注于提供高性能的动态库替换方案。
- 🎯 FastScan 专用 - 完全兼容 FastScan 的内核读写接口
- 🔧 动态库替换 - 无需修改 FastScan,直接替换 libmemory.so
- ⚡ 高性能驱动 - 基于 rt_hookpro_driver 的内核级读写
- 🛠️ 简单易用 - 标准化 C API,易于集成和使用
- 🚀 自动构建 - GitHub Actions 自动化编译发布
| 库文件 | 说明 | 用途 |
|---|---|---|
| libmemory.so | FastScan 内核读写替换库 | 直接替换 FastScan 中的 libmemory.so 文件 |
- ✅ 标准 C API - 提供
fsinit_kernel、fsget_init、fsinit_pid、fsread等接口 - ✅ 内核级读写 - 基于 rt_hookpro_driver 实现高性能内存访问
- ✅ 即插即用 - 编译后直接替换,无需修改 FastScan 代码
- ✅ 自动化发布 - 每次版本发布自动构建 ARM64 动态库
- ✅ 稳定可靠 - 经过充分测试,稳定支持 Android 8.0+
libscan/
├── c_driver.h # C API 头文件(FastScan 兼容接口)
├── c_driver.cpp # libmemory.so 核心实现
├── driver_rt_hookpro.h # rt_hookpro_driver 驱动头文件
├── jni/ # NDK 构建配置
│ ├── Android.mk # NDK 构建脚本
│ └── Application.mk # 目标平台配置
├── .github/workflows/ # GitHub Actions 自动化
│ └── auto-build.yml # 自动构建和发布
├── 一键构建脚本.sh # NDK 快速构建脚本
└── README.md
-
前往 Releases 页面下载最新的
libscan-arm64-v8a.zip -
解压并替换 FastScan 的 libmemory.so:
# 解压文件
unzip libscan-arm64-v8a.zip
# 推送到 FastScan 的库目录(通常是 /data/local/tmp/)
adb push libmemory.so /data/local/tmp/libmemory.so
adb shell chmod 755 /data/local/tmp/libmemory.so- 重启 FastScan,新的内核读写库将自动生效!
FastScan 会自动加载 /data/local/tmp/libmemory.so,无需修改任何代码。本库提供的接口与 FastScan 完全兼容:
// FastScan 内部会自动调用这些接口
bool fsinit_kernel(); // 初始化内核环境
bool fsget_init(); // 检查初始化状态
bool fsinit_pid(pid_t pid); // 设置目标进程 PID
bool fsread(uintptr_t addr, void *buffer, size_t size); // 读取内存💡 提示:只需替换 libmemory.so 文件,FastScan 会自动使用新的内核读写实现。
- Android NDK r21e 或更高版本
- 支持的系统:Linux、macOS、Windows (WSL)
方式一:使用 NDK 编译(推荐)
下载并配置 Android NDK,推荐版本:r21e 或更高。
# 方式 A: 使用一键脚本
bash 一键构建脚本.sh
# 方式 B: 直接运行 ndk-build
ndk-build脚本会自动查找以下 NDK 路径:
/data/user/0/aidepro.top/no_backup/ndksupport-1710240003/android-ndk-aide/ndk-build/data/data/com.termux/files/home/android-ndk-r21e/ndk-build/root/android-ndk-r23c/ndk-build
编译完成后,动态库将位于:
libs/arm64-v8a/libmemory.so ← 这就是要替换到 FastScan 的文件
# 检查生成的库文件
file libs/arm64-v8a/libmemory.so
# 输出应类似:
# libs/arm64-v8a/libmemory.so: ELF 64-bit LSB shared object, ARM aarch64方式二:手动配置 NDK 编译
如果你的 NDK 在其他位置,可以手动指定路径:
# 设置 NDK 路径
export NDK_PATH=/path/to/your/android-ndk
# 运行编译
$NDK_PATH/ndk-build或者修改 一键构建脚本.sh,添加你的 NDK 路径到 ndk_paths 数组中。
本库完全兼容 FastScan 的内核读写接口,提供以下 C API:
| 函数签名 | 功能说明 | FastScan 调用时机 |
|---|---|---|
bool fsinit_kernel() |
初始化内核驱动环境 | FastScan 启动时调用 |
bool fsget_init() |
检查驱动是否已初始化 | 内部状态检查 |
bool fsinit_pid(pid_t pid) |
设置目标进程 PID | 选择进程后调用 |
bool fsread(uintptr_t addr, void *buffer, size_t size) |
读取目标进程内存 | 搜索和修改时调用 |
// c_driver.cpp - 核心实现
#include "driver_rt_hookpro.h"
// 使用 rt_hookpro_driver 作为底层驱动
auto *driver = new rt_hookpro_driver();
extern "C" {
bool fsinit_pid(pid_t pid) {
driver->set_pid(pid); // 设置目标进程
return true;
}
bool fsread(uintptr_t addr, void *buffer, size_t size) {
return driver->read(addr, buffer, size); // 内核级读取
}
}💡 无需修改代码:FastScan 会自动调用这些接口,你只需替换 libmemory.so 文件即可。
核心步骤: 只需将编译好的 libmemory.so 推送到 /data/local/tmp/ 目录即可。
# 方式一:使用预编译版本(推荐)
# 从 Releases 下载后解压,然后执行:
adb push libmemory.so /data/local/tmp/libmemory.so
# 方式二:使用自己编译的版本
adb push libs/arm64-v8a/libmemory.so /data/local/tmp/libmemory.so
# 重启 FastScan 即可生效!# 检查文件是否存在
adb shell ls -lh /data/local/tmp/libmemory.so
# 输出应类似:
# -rwxr-xr-x 1 root root 123K 2025-11-11 22:00 /data/local/tmp/libmemory.so| 项目 | 说明 |
|---|---|
| 🎯 专用性 | 本库仅为 FastScan 设计,不是通用内存读写库 |
| 🏗️ 架构要求 | 仅支持 ARM64(aarch64)架构 |
| 🔐 权限要求 | 需要 root 权限才能正常使用 |
| 📍 路径要求 | libmemory.so 必须放在 /data/local/tmp/ 目录 |
| 📱 系统版本 | 建议 Android 8.0+ (API 21+) |
| 🔄 兼容性 | 与 FastScan 完全兼容,无需修改 FastScan |
| 问题 | 解决方案 |
|---|---|
| FastScan 找不到库 | 确认 libmemory.so 在 /data/local/tmp/ 目录 |
| FastScan 闪退 | 检查是否有 root 权限,尝试使用 Magisk 或 KernelSU |
| 读取失败 | 确认设备已 root,检查 SELinux 状态(可能需要 permissive) |
| 编译错误 | 确认 NDK 版本 >= r21e,检查 driver_rt_hookpro.h 是否存在 |
- 🚀 FastScan 项目: AYssu/fast-scan
- 📦 FastScan 发布页: Releases
- 📚 本项目文档: Wiki(即将推出)
- 💬 问题反馈: Issues
本项目采用 MIT 许可证,详见 LICENSE 文件。
- 本项目仅供学习研究使用,请勿用于非法用途
- 本库专为 FastScan 设计,不保证与其他工具的兼容性
- 使用本项目产生的任何后果由使用者自行承担
感谢所有为本项目做出贡献的开发者!
如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!
作者:阿夜
Made with ❤️ by AYssu