APKTool:
Apktool 是一个逆向android非常有用的工具,可以用来反编译apk文件,并且能在修改部分资源文件后,重新打包成一个新的apk。
下载连接:http://ibotpeaches.github.io/Apktool/install/
下载之后文件夹非常清爽,只有两个文件:
之后将需要反编译的 APK 拉到这个目录下,cmd命令:
apktool d myApp.apk
其中 myApp.apk 是需要反编译的 APK
反编译完成后就会看到在此目录下多了一个 myApp 的文件夹,这就是反编译的产物
OK,现在运用 APKTool 把反编译后的产物重新编译成 APK,cmd命令:
apktool b myApp -o myApp_recompiled.apk
运行编译完成后次目录下就会多了一个 myApp_recompiled 的 APK,但是此 APK 是不能够安装的,因为还没有签名
现在对编译出来的 APK 进行签名
需要准备好签名文件(.jks),将 jks 文件复制到次目录下,cmd命令:
jarsigner -verbose -keystore my-release-key.jks -storepass my-storepass -keypass my-keypass myApp_recompiled.apk alias_name
my-release-key.jks:jks文件名
my-storepass:密钥库密码
my-keypass:别名密码
myApp_recompiled.apk:需要签名的 APK 名称
alias_name:别名
运行签名后 myApp_recompiled.apk 这个 APK 就能够正常安装运行了
接下来再对 APK 进行优化,cmd命令:
zipalign -v 4 myApp_recompiled.apk myApp_optimized.apk
myApp_optimized.apk 这个 APK 就是经过优化后的产物了
反编译和重新编译并签名优化的流程就是这么多,我们可以在反编译后的产物中修改一些资源文件后重新编译成 APK 来达到自己想要的效果