开发者社区> 问答> 正文

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

"<p style=""background-color:#FFFFFF;font-family:Arial, Helvetica, sans-serif;font-size:12px;""> <span style=""font-size:14px;font-family:Arial;""> 上一节我们介绍了一种利用无效字节码指令引发逆向工具崩溃的方法。(<a href=""http://www.oschina.net/question/2285044_237431"" target=""_blank"" rel=""nofollow""><span style=""font-size:14px;font-family:Arial;"">http://www.oschina.net/question/2285044_237431<span style=""font-size:14px;font-family:Arial;"">)可惜的是大部分反编译工具已经修复了该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:(反编译失败)

 

"

展开
收起
montos 2020-06-03 13:07:10 532 0
1 条回答
写回答
取消 提交回答
  • "<img src=""http://www.oschina.net/js/ke/plugins/emoticons/images/29.gif"" alt="""" />

    ######

    一种利用无效字节码指令引发逆向工具崩溃的方法。(http://www.oschina.net/question/2285044_237431)不错的分享,支持一下。。


    "
    2020-06-03 13:44:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
15分钟打造你自己的小程序 立即下载
小程序 大世界 立即下载
《15分钟打造你自己的小程序》 立即下载