简介
- 直接将 Apk 文件转换为可以进行二次开发的 Android 项目的工具,支持 so hook,对于 il2cpp 的游戏 apk 直接生成 il2cpp c++脚手架
- 将痛苦的逆向环境,转化为舒服的开发环境,告别汇编,告别二进制,还有啥好说的~~
特点
- 基于 AndroidStudio 进行 smali 修改编译
- 提供 Java 层代码覆盖及继承替换的脚手架
- 提供 so 函数 Hook Api
- 对于 il2cpp 的游戏 apk 直接生成 il2cpp c++脚手架
- 无限的可能性和扩展性,能干啥你说了算~
运行环境
- Java
- il2cpp游戏Apk,非windows暂时无法生成il2cpp c++脚手架
使用方式
- 下载FakerAndroid.jar(2020/10/28/17:15:00)
- cmd命令行
cd <FakerAndroid.jar平级目录>
- cmd命令行
java -jar FakerAndroid.jar fk <apkpath>
(项目生成路径与apk文件平级) 或java -jar FakerAndroid.jar fk <apkpath> -o <outdir>
- 例:
java -jar FakerAndroid.jar fk D:\apk\test.apk
或java -jar FakerAndroid.jar fk D:\apk\test.apk -o D:\test
生成的 Android 项目二次开发教程
1、打开项目
- Android studio直接打开工具生成的Android项目
- 保持跟目录build.gradle中com.android.tools.build:gradle:3.4.0依赖固定,请勿升级或修改该版本号,且项目配置NDk版本为21
- 存在已知缺陷,res下的部分资源文件编译不过,需要手动修复一下,部分Manifest标签无法编译需要手动修复
2、调试运行项目
- 连接测试机机
- Run项目(提醒:DEX缓存原因,修改smali文件后调试运行需要先卸载手机调试包,另外il2cpp game apk 第一次编译脚手架会比较慢)
3、进阶
- 类调用
借助 javaScaffoding 在主模块(app/src/main/java) 编写 java 代码对 smali 代码进行调用 - 类替换
在主模块(app/src/main/java)直接编写 Java 类,类名与要替换的类的smali文件路径对应 - So Hook
借助 FakeCpp 使用 jni 对 so 函数进行 hook 替换 - il2cpp unity 游戏脚本二次开发
借助 il2cpp Scaffolding 和 FakeCpp,使用 jni 对原 il2cpp 游戏脚本进行 Hook 调用
评论 (0)