探秘Whale:跨平台Hook框架的新星
Whale是一个强大的跨平台Hook框架,它允许开发者在Android、iOS、Linux和macOS上进行灵活的代码干预。这个框架不仅支持ARM/THUMB、ARM64、X86和X86_64架构,几乎涵盖了当前所有主流设备。它的目标是为开发者提供一个统一且高效的工具,以实现各种复杂的软件调试和修改任务。
项目介绍
Whale的核心特性包括:
- Xposed风格的方法Hook: 提供与著名的Xposed框架类似的功能,让开发者可以轻松地拦截和修改应用程序的行为。
- 动态类关系修改: 可以在运行时改变类的继承关系和对象所属的类。
- 避免Android的隐藏API限制: 在不违反Android官方政策的前提下,访问受保护的API。
- 内部符号解析器和原生Hook功能: 提供对系统内部符号的控制,以及原生代码级别的Hook操作。
对于iOS,虽然Whale支持内联Hook,但仅限于非越狱设备的调试编译模式。未来,Whale会推出名为Binary Static Inline Hook
的新核心,来解决这一限制。
技术应用场景
Whale的应用场景广泛,其中包括但不限于:
- 启用应用的上帝模式: 通过Hook关键函数实现游戏内的作弊或增强功能。
- 监控与篡改应用行为: 对任意应用的运行状态进行监控和调整。
- 即时热修复: 快速修复线上应用的问题,无需用户手动更新。
- 沙盒环境: 创建隔离的测试环境,不影响系统或其它应用。
- 替代Xposed: 在没有Xposed框架的环境中,如iOS,提供相似的Hook能力。
项目特点
- 广泛的兼容性: 已经验证可在多个Android和iOS版本上运行,未来还会继续扩展支持更多平台。
- 处理pcrel指令: 自动将pcrel转换为pc独立指令,简化了Hook过程。
- 内置JIT引擎: 支持动态生成可执行的内存指令,提供更高级别的Hook需求。
- 预编译二进制版本: 减少了开发者从源码构建的时间成本。
- 灵活的构建选项: 支持多种平台和编译配置,例如Android的Gradle集成和iOS的CMake构建。
获取与构建
Whale已在GitHub上提供预编译的Android和iOS版本,可以直接在项目中的built
目录找到。要构建源码,只需安装CMake并按照readme文件中的指示进行操作。
技术交流
想要加入到Whale的讨论中?可以通过Discord服务器或发送邮件至imlody@foxmail.com
联系开发者。
让我们一起探索Whale的世界,开启跨平台Hook的新篇章!