Android最新反编译-回编译-重签名
反编译流程:
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到2个文件: apktool.bat,apktool.jar ,
资源下载地址:http://download.****.net/download/qq_37792992/10223247
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:
java-jar apktool.jar d test.apk -o out
(命令中test.apk指的是要反编译的APK文件全名,out为反编译后资源文件存放的目录名称)
说明获取成功,之后发现在文件夹下多了个out文件,点击便可以查看该应用的所有资源文件了。
二.如果你想将反编译完的文件重新打包成apk,那你可以:输入java -jar apktool.jar
b out
(你编译出来文件夹)便可,效果如下:
之后在之前的out文件下便可以发现多了2个文件夹:
build
dist(里面存放着打包出来的APK文件)
三.对回编译的apk进行重签名(必须在java环境)
如:D:\as\AndroidStudio\android-studio\jre\bin
使用已存在的jks文件给apk签名:
jarsigner -verbose -keystore test.jks -signedjar signtest.apk test.apk demo
1)jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来,显示在dos窗口中;
2)-keystore test.jks
表示签名所使用的数字证书所在位置,这里没有写路径,表示在当前目录下;
3)-signedjar signtest.apk test.apk
表示给test.apk文件签名,签名后的文件名称为signtest.apk;
4)最后面的demo表示证书的别名,对应于生成数字证书时-alias参数后面的名称,详情见下图:
jarsigner-verify test.apk
查看是否签名,如果已经签名会打印 "jar
已验证".