android 插件 manifest,Android应用加解密--AndroidManifest文件加解密

最近对Android应用安全这一块比较关注,所以了解了一些apk加固产品。发现部分加固产品加固后的apk在反编译时会报错,反编译的结果只得到一个空的AndroidManifest.xml文件。针对此现象分析和查找一些资料,发现此情况是因为加固产品对AndroidManifest.xml文件作了一些修改从而实现apk加密。所以写此稿作分析记录,若有新发现则更新。

1.问题:

在反编译某加固产品加固后的apk时出现报错如下:

W: Could not decode attr value, using undecoded value instead: ns=android, name=

qihoo, value=0x00000016

2.直接从apk压缩包中拖出AndroidManifest文件并用AXMLPrinter2.jar工具对其进行格式转换发现Application标签中存在一个这样子的属性:

android:qihoo="activity"

由于android命名空间中并没有qihoo这个属性,所以猜测是加固产品对manifest文件做了手脚。

3.查阅资料发现此种加密是利用了某个漏洞。即Android在安装运行apk时并不会对无用的标签属性进行解析。但是进行反编译时apktool却会对每一个标签属性进行解析,所以导致无法反编译。在此非常感谢wanchouchou大大的文章http://www.cnblogs.com/wanyuanchun/p/4084292.html

4.解密:既然问题已经找到,那么解密工作就应该从Manifest文件入手。目前发现最全的manifest二进制文件格式如图,是看雪论坛MindMac大大的贴给出的:http://bbs.pediy.com/showthread.php?t=194206。

5.非常感谢以上两位大大给出便利。

6.手动解密:

分析文件格式可以知道,解密该manifest文件只要把Application标签下的android:qihoo属性删除即可。所以文件需要修改的地方如下:

删除application标签下的android:qihoo属性,总大小为1*5*4bytes

修改XmlContent chunk 中 application start tag chunk的Attribute count 减去1

修改application start tag chunk的chunk size 减去0x14

修改整个xml的file size 减去0x14

修改的细节就不说了,修改前后的xml及apk文件下载链接:链接:链接:http://pan.baidu.com/s/1i9d86 密码:exod

7.将修改后的xml文件替换掉原apk的中的xml文件,apktool反编译,成功反编译出所有文件!今天先到这,下次再看吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值