以往遇到的花指令去除记录

admin 2022年12月17日04:04:46评论112 views字数 717阅读2分23秒阅读模式

花指令属于静态反分析技术,只是通过加入烟幕弹扰乱代码可读性从而磨光调试者的耐心,本身并不影响程序执行逻辑。

这里IDA静态反汇编将0x66 0xbb识别为mov指令的前两个字节了,然后导致之后的分析出错。

以往遇到的花指令去除记录

.text:35004972 66 BB 30 DB                             mov     bx, 0DB30h

.text:35004976 75 FC                                   jnz     short near ptr loc_35004972+2

我们可以手工对其选择特定位置转换为汇编代码,如下右键将该区域汇编代码重新转换为未定义的数据。

以往遇到的花指令去除记录

以往遇到的花指令去除记录

按快捷键x转换为代码区域,现在变成了正确的汇编代码。

以往遇到的花指令去除记录

如果是要修补的话,需要修改汇编代码将花指令补丁为90(nop指令)。

以往遇到的花指令去除记录

以往遇到的花指令去除记录

以往遇到的花指令去除记录

之后就可以在认为是函数起始位置右键点击创建函数选项,如下。

以往遇到的花指令去除记录

B8指令属于无效字节,不过IDA的静态分析很强大,这里直接给识别为数据了,而ollydbg则不是,而是直接将其作为mov指令进行翻译。

以往遇到的花指令去除记录

以往遇到的花指令去除记录

B9指令也是类似,ollydbg识别成了指令,导致反汇编结果出错,IDA识别出了数据,可成功反汇编。花指令就是利用静态反汇编过程中对数据以及汇编指令的识别异常导致汇编结果出错的一种手段,因此对反汇编结果的仔细观察可以发现存在异常汇编代码的情况下可能是存在花指令干扰。

以往遇到的花指令去除记录

以往遇到的花指令去除记录

这里只是简单记录下,主要是手工对其修复的过程。从易到难,在实际应用过程中需要针对性逆向的场景可考虑利用IDAPython等工具来搜索特征码自动化或半自动化去除被混淆的恶意文件使用的花指令。

原文始发于微信公众号(OnionSec):以往遇到的花指令去除记录

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月17日04:04:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   以往遇到的花指令去除记录http://cn-sec.com/archives/1467535.html

发表评论

匿名网友 填写信息