如何将手机端App反编译为可编辑的Kotlin源码?
从APK反编译获取Kotlin源码操作步骤
前置准备
- 配置好JDK 11+运行环境
- 准备好Apktool、jadx两款工具
步骤1:解包APK获取资源文件
将你提取到的APK文件放入单独文件夹,在终端执行解包命令:apktool d 你的安装包名称.apk -o 解包输出目录
命令执行完成后,解包输出目录内可以获取到完整的AndroidManifest.xml、res资源目录、lib动态库目录等原生工程文件,这些文件可以直接迁移到后续的Android Studio项目中使用。
步骤2:反编译dex字节码为Kotlin源码
将APK文件后缀修改为.zip后解压,获取压缩包内的classes.dex、classes2.dex等所有dex字节码文件,将所有dex文件导入jadx工具:
- 等待jadx解析完成后,选择导出全部源码,导出格式选择Kotlin
- 如果你之前打包APP时没有开启混淆,反编译出来的代码变量名、类名会和原始源码完全一致;如果开启了混淆,会出现无意义的短命名,需要你对照业务逻辑手动修正
步骤3:导入Android Studio适配
- 新建Kotlin类型的Android项目,包名设置为原APP的包名
- 把步骤1解包得到的res、AndroidManifest.xml、lib文件夹替换到新项目的对应目录下
- 把步骤2反编译得到的Kotlin代码复制到新项目的src/main/kotlin目录下
- 补全build.gradle中的依赖声明,同步Gradle后编译运行
- 少量因反编译工具导致的语法错误,对照业务逻辑手动调整即可
注意:如果你的APK之前做过加固处理,需要先完成脱壳才能正常反编译,无加固的APK可以直接按照上述步骤操作。
内容的提问来源于stack exchange,提问作者SpeeDfire12
相关产品推荐
相关产品推荐

