首页 > 其他 > 详细

利用无效字节码指令引发逆向工具崩溃(二)

时间:2015-05-29 02:12:10      阅读:290      评论:0      收藏:0      [点我收藏+]

?上一节我们介绍了一种利用无效字节码指令引发逆向工具崩溃的方法。(http://blog.csdn.net/lz201234/article/details/46004573)可惜的是大部分反编译工具已经修复了该bug。但是如果我们插入有效的字节码指令,但是后跟无效的数据引用,结果会是怎么样呢?

???? 使用C32asm,以十六进制的方式打开dex文件。按快捷键“Ctrl?+?G”,定位到“0003A2A4

把“62?00?02?04?1A?01?8E?07??6E?20?19?10?10?00”改为“12?01?38?01?03?00?1A?00?FF?FF?00?00?00??00”(不清楚的可以看上一篇文章

bubuko.com,布布扣

Opcodes解释:

12?01? //??const/4??v1,?0 //v1=0

38?01?03?00? //??if-eqz???v1,?loc_3A2AC //if(v1==0)?跳转到?loc_3A2AC:

1A?00?FF?FF //??const-string?v0,(不存在的引用?FFFF

// 本行代码被跳过,永远不会执行

// loc_3A2AC:

?

保存dex。把修改后的dex文件拖入DexFixer进行修复。

bubuko.com,布布扣

?

用修复后的dex覆盖原apk中的dex文件。

bubuko.com,布布扣

删除META-INF签名文件

bubuko.com,布布扣

?

使用签名工具,对apk重新签名。

bubuko.com,布布扣

?

Apk安装到手机,运行成功

bubuko.com,布布扣

?

?

下面试试反逆向工具的效果

?

Apktool:(反编译失败)

bubuko.com,布布扣

?

Dex2jar:(反编译失败)

bubuko.com,布布扣

?

利用无效字节码指令引发逆向工具崩溃(二)

原文:http://1249164263.iteye.com/blog/2214978

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!