您的位置:首页 > 其它

(爱加密系列教程十五) 利用无效字节码指令引发逆向工具崩溃(二)

2013-11-25 09:26 330 查看
上一节我们介绍了一种利用无效字节码指令引发逆向工具崩溃的方法。可惜的是大部分反编译工具已经修复了该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”(不清楚的可以看上一篇文章)



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进行修复。



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



删除META-INF签名文件



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



Apk安装到手机,运行成功



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

Apktool:(反编译失败)



Dex2jar:(反编译失败)



用到的工具:

IDA :http://pan.baidu.com/share/link?shareid=132208&uk=1795434040

C32Asm http://www.crsky.com/soft/3128.html

DexFixer:http://bbs.pediy.com/showthread.php?p=1158816

Ijiami signer:http://***/

更多内容,期待您的探索,请关注爱加密,让您精彩不断!

爱加密官方地址:http://***/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: