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名称被成功改为测试即为存在应用完整性未做校验的漏洞。