apktool重新打包时报错

//括弧 前面的不对,正文在后面,前面的是刚遇到问题时的草稿 括弧结束

遇到关于app的反编译安全测试,需要校验应用完整性,就需要反编译-修改内容-重新签名打包。

然后在重新打包的时候,报错了。。不能生成新的apk。。。

由于试了很多方法都解决不了(卡了一整天进度),我决定重新开始,从反编译开始。

之前用的是dex2jar2.0反编译,这次换apktool。

输入apktool.bat d -f xxx.apk [输出的文件夹名]

报错:input file was not found or was not readable.

首先判断是我的指令输错了,因为刚接触这个工具

所以输入apktool查看一下全部指令

尝试修改一下命令,也并没有解决问题

百度了一下发现好像是少了一个apktool-install-windows文件

下载一下:https://connortumbleson.com/apktool/googlecode/


//括弧 正文开始 括弧完了

问题当时已经解决了(磕磕绊绊),但忘记写这篇文章了,时隔一个月重新看这篇草稿,,我当时真傻(菜)啊。。。

其实并不是工具的原因,仅仅是因为反编译的时候报错被我忽略了,所以不能重新打包。

解决办法如下:

首先是反编译命令:

java -jar apktool.jar d -f apk [应用存放的路径应用]

执行后报错

其实问题就出在这里,一开始就出问题了但是我当时不太懂没注意报错(!!这么大一片啊!)

这种情况是因为apk里有加密过后的dex文件,添加--only-main-classes参数就可以了。

反编译后的文件夹:

然后在这里就可以打开编辑:

在这里改掉了app显示的名字(tips:android:label 用于app 在切换activity的时候,自动更换左上角的显示)

然后保存,重新打包:

java -jar apktool.jar b -f [文件夹] -o [新的应用名]

这样就不报错了。。

然后再用signapk签名就能重新安装

java -jar signapk.jar testkey.x509.pem testkey.pk8 [重新打包的应用,带路径] [新的应用名]

能重新安装打开并且app名称被成功改为测试即为存在应用完整性未做校验的漏洞。

经验分享 程序员 微信小程序 职场和发展