做安卓的经常会用到反编译和重打包,分享一下我做Android重打包时遇到的问题和经验总结吧。首先反编译解包需要用到解包工具apktool目前最新版本的apktool版本是apktool2.3.4下载连接 apktool 我们拿到apk之后需要对apk进行解压缩,这时候需要用到apktool的解压命令当然你得有java环境。至于如何配置java环境,请自行百度,很简单的,apktool解包命令为。
java -jar apktool2.3.4.jar d xxx.apk(需要解包的apk路径) - o xxx(文件夹路径)
解出来的包
解开之后我们可以做一些基本的修改比如修改一下AndroidManifest.xml里面的属性。删除或者修改一下res里面的资源图片,或者文字内容等。
当我们修改或者删除我们想要的字段或者资源后我们就需要重新打包回去了。这时候同样运行apktool命令如下
java -jar apktool2.3.4.jar b xxxx -o xxxx.apk
apk签名
dos 下进入cmd窗口
生成签名文件命令 keytool -genkey -alias my.keystore -keyalg RSA -validity 36500 -keystore my.keystore
查看MD5指纹验证
命令 keytool -list -v -alias my.keystore -keystore C:\Users\Administrator\my.keystore
签名apk命令 jarsigner -verbose -keystore C:\Users\Administrator\my.keystore -signedjar E:\PackageTool\workspace\u8aa.apk E:\PackageTool\tool\win\aau8.apk my.keystore
解释一下参数含义 -keystore keystore文件路径 -signedjar 后面的三个参数依次为。签名后的apk路径 ,需要签名的apk路径,签名证书别名。
签名好的包如下。
有时候我们需要查看别的app的源码这时候我们可以修改apk的后缀名为zip然后解压得到里面的classes.dex
这时候我们需要将classes.dex文件转为jar文件然后用jd -gui查看其源代码下载地址别为dex2jar 和jd- gui 下载好后解压下载下来的dex2jar-2.0和jd -gui即可使用。
dex2jar转dex命令为 d2j-dex2jar.bat classes.dex
运行后的结果
这个时候我们就可以查看其中的源码了。我们把生成的classes-dex2jar.jar 拖入 jd -gui.exe中即可。
效果如下
感谢。
以上内容为本人原创欢迎转载引用 转载注明出处。