Github 传送
简介
- 直接将Apk文件转换为可以进行二次开发的Android项目的工具,支持so hook,对于il2cpp的游戏apk直接生成il2cpp c++脚手架
- 将痛苦的逆向环境,转化为舒服的开发环境,告别汇编,告别二进制,还有啥好说的~~
特点
- 基于AndroidStudio进行smali修改编译
- 提供Java层代码覆盖及继承替换的脚手架
- 提供so函数Hook Api
- 对于il2cpp的游戏apk直接生成il2cpp c++脚手架
- Java层标准的对原有Java api的AndroidStudio编码提示
- Debug知道直接定位为到Java伪代码
- 对于il2cpp的游戏apk,标准的Jni对原有il2cpp脚本的编码提示
- 无限的可能性和扩展性,能干啥你说了算~
运行环境
- 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调用
4、遇到问题了?兄弟别走肯定能用,而且是你最佳的解决方案,咨询探讨
5、给个star?免费的
05-08 00:11