asLody/whale
asLody/whale has 1,666 GitHub stars and 339 forks. GitHot measured 0 in 7 days. Last checked 2026-11-10 01:23 UTC. Last push 2020-12-13.
Hook Framework for Android/IOS/Linux/MacOS
可以做什么
- Turn on the god mode of an app
- The act of monitoring or tampering with app
- Inject to system and instead of Xposed
实测星标增长
- 24小时
- 更新延迟
- 7天
- 0
- 15天
- 更新延迟
- 1个月
- 更新延迟
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README.zh-CN.md
原文Whale

概述
Whale是一个跨平台的Hook Framework,同时支持Android、IOS、Linux、MacOS。 Whale 支持ARM/THUMB、ARM64、X86、X86_64 (AMD64),这几乎覆盖了目前所有主流的设备。
特性
Android
- Xposed-Style Method Hook
- 运行时修改类之间的继承关系
- 修改对象所属的类
- 绕过
Hidden API Policy
Darwin/Linux Platforms
- Internal symbol resolver
- Native Hook
IOS的限制
IOS的InlineHook在非越狱设备上只限在debug编译模式下开启, release编译模式下将无法正常工作。
为了解决这个问题,Whale将提供Binary Static Inline Hook。
IOS下的Binary Static Inline Hook将在近期开源。
你可以用它做什么?
- 开启App的上帝模式
- 监控或篡改软件的行为
- 即时生效的热修复
- SandBox
- 注入到系统代替Xposed
Whale的兼容性
- Android 5.0.0
- Android 5.1.1
- Android 6.0
- Android 6.0.1
- Android 7.1.2
- Android 8.1.0
- Android 9.0.0
- IOS 11.3
- IOS 12.0
- MacOS mojave (10.14)
- (不在清单内表示
未测试)
InlineHook
对于pcrel指令, Whale会将其转换为pc 无关指令,
如果在Hook过程有遇到未转换的指令,请提issue。
关于Jit
Whale内置了 Jit Engine, 当你有更高级的Hook需求时可以通过Jit直接在内存中生成可执行的指令。 不再需要像从前那样通过工具来生成丑陋的hard code。
编译
我们已提前编译了Android & IOS的二进制版本,您可以在built目录找到它们。
Whale使用了CMake来构建项目,所以你需要在你的系统上安装CMake。
Android
如果需要使用
Java Hook, 请把java文件夹的代码复制到你的项目。直接使用二进制,你只需要复制
built/Android下你所需的abi到你的项目的src/main/jniLibs下。如果需要编译源码,请在build.gradle中指定CMakelists.txt:
externalNativeBuild {
cmake {
path "your/whale/path/CMakeLists.txt"
}
}
IOS
cd toolchain
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=ios.toolchain.cmake \
-DIOS_PLATFORM=OS64 \
-DPLATFORM=IOS \
-DIOS_ARCH=arm64 \
-DENABLE_ARC=0 \
-DENABLE_BITCODE=0 \
-DENABLE_VISIBILITY=0 \
-DIOS_DEPLOYMENT_TARGET=9.3 \
-DSHARED=ON \
-DCMAKE_BUILD_TYPE=Release
make -j4
Ohter platforms
cmake .
make -j8
Technogy communication
QQ Group: 977793836