Hack APK&签名回编译
准备工作
前提是安装好JDK并配置环境变量,然后下载以下反编译工具
- apktool:链接内容另存为apktool.sh
- apktool.jar:选择最新版下载,并重命名为apktool.jar
- jd-gui:将jar反编译为java的工具,方便阅读源代码,如果不需要修改java源码,也可以不用下载
- dex2jar:将dex反编译为jar,与上面配合使用
反编译过程
1.反编译apk
则在当前目录会生成名为cyj
的文件夹,存放的是反编译后的内容
2.反编译源代码
3.阅读源代码
将上一步生成的classes-dex2jar.jar文件使用jd-gui工具打开,即可看到源代码(一般情况下,都会被混淆)
4.修改smali文件
第三步可以修改java代码来实现hack的效果,但本人更推荐修改smali文件。因为反编译后的java代码跟原始结构还是会存在一些差异。smali文件存放在cyj/smali
下面,和class文件基本是一一对应的。可以互相对比来理解代码逻辑。
5.回编译
修改smali文件之后,需还原成apk
则会在cyj/dist
下生成新的apk,但此时还不可使用
5.加签名
最终生成的cyj_signed.apk
就是hack后的apk了。