其他
反编译Apk及重新打包
关注公众号,经常更新Android出海经验,微信添加“dev_oy”一起加GP交流群讨论出海技巧。
反编译代码
反编译资源
重新打包
话不多说,直接上科技。
反编译代码
1、反编译java代码首先需要下载dex2jar这个工具,下载地址:https://sourceforge.net/projects/dex2jar/files/目前最新版是2.0, 下载完后并解压缩。
2、将要反编译的apk文件重命名为zip格式并解压缩,注意其中的classes.dex文件,它存放了全部的java代码,将classes.dex文件拷贝到dex2jar解压后的根目录下。
3、打开cmd,进入dex2jar解压后的根目录,执行命令:
d2j-dex2jar classes.dex
4、要查看java代码,还需要下载jd-gui这个工具,下载地址:http://jd.benow.ca/,目前最新版是1.4.0,下载完后解压缩,并用jd-gui.exe打开上边反编译出来的jar文件:
反编译资源
apktool d test.apk
执行成功后,在当前目录下会生成一个test文件夹:
此时查看AndroidManifest.xml文件,发现已经成功反编译出来了:
重新打包
apktool b test -o new_test.apk
如下图:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <签名文件名> -storepass <签名密码> <待签名Apk文件名> <签名别名>
3、签名完成后,建议对APK文件进行一次对齐操作,这样可以使得程序在Android系统中运行得更快,对齐操作使用的是zipalign工具,该工具在<Android SDK>/build-tools/<version>目录下,需要将这个目录配置到系统环境变量当中才可以在任何位置执行此命令。继续在cmd中执行命令:
zipalign 4 new_test.apk new_test_aligned.apk
jarsigner -verify -verbose -certs new_test_aligned.apk