关于APK安全检测部分文件有问题,使用反编译和重新打包解决问题记录

近期apk提交安全检测,检测出apk中有几个js文件过不了安全检测。查看代码也没找到是什么引用生成的。如果一个一个去除引用查看问题代价太大。所以想到用反编译和回编直接删除这几个文件来解决问题(注:这几个文件删除并不影响主功能,如果删除直接APP不能用了,那此方法也就没啥意义了)。下面介绍一下主要流程:

1、首先我们要准备反编译用到的apktool。网上直接下载一个就行了。

2、将所需要反编译的apk文件拷到此文件夹底下。这里我用一个test.apk演示。

3、cmd中切换到apktool目录,执行

java -jar apktool_2.6.0.jar d -f test.apk -o test

4、可以看到文件夹里会生成个test文件夹。

5、我们点进去就可以把想删的文件删掉。

6、接着我们再把APK重新打包。同样cmd中切换到文件夹,执行

java -jar apktool_2.6.0.jar b test

7、重新打包成功后,test文件里会生成一个dist文件,里面就是新的apk。

8、打包后新的APK是无法直接安装的,会提示不包含任何证书。我们使用签名工具重新签名就可以了。(注意:测试APK没啥代码和引用,签名很容易。如果是真实项目,有很多代码和引用,签名可能会失败。失败的话可以尝试将这个apk使用加固软件先加固一下,然后再签名。这时虽然也会提示签名失败,但是会生成新的签名后的APK,是可以安装检测的。这是我个人测试出来的经验,不一定通用)

9、以上就是反编译和成功打包的流程。此方法只作为应付安全检测,正式项目还是不要这么做。公司项目要求,没办法才想了个这个办法。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值