n1ng 发表于 2024-10-15 18:39

CTF常见花指令去除IDA插件

本帖最后由 n1ng 于 2024-10-15 18:41 编辑


地址:https://github.com/x1aon1ng/NoMoreFlower
本项目旨在帮助CTF初学者方便的去除常见花指令,可以在此基础上进行理解学习,有bug或者可以优化的地方欢迎和我联系交流,第一次写ida插件,不足之处多多谅解。目前支持去除的花指令有这些,后续会持续更新
```pattern1:
//包括类似的jo jno,js jns等
                jz      label
                jnz      label
                db      _junkcode
label:      ....
                ....
pattern2:
                        CLC
                        JNB         label_1
                        db         _junkcode
label_1:

pattern3:
      push ebx;
      xor ebx, ebx;
      jnz LABEL7;
      jz    LABEL8;
    LABEL7:
      _emit 0xC7;
    LABEL8:
      pop ebx;
      
pattern4:
                        call      label_1
                        db                _junkcode
label_1:                add      esp,4

pattern5:
                     push    eax
                        call      label_1
                        db                _junkcode
label_1:                pop      eax
                     pop   eax
                  
pattern6:
                        call      label_1
                        db                _junkcode
label_1:                add   dword ptr ss:,8
                     ret
                        db               _junkcode
```

qq465881818 发表于 2024-10-16 20:04

去花用ai很好用

n1ng 发表于 2024-10-19 15:55

zhu801234567 发表于 2024-10-19 15:14
Hh看不懂

思路就是用正则表达式去匹配一些基础形式的花指令,比如jz xxx +jnz xxx +junkcode,但是因为如果存在变动就会匹配不到

落尘大大和你呢 发表于 2024-10-16 13:42

去除花指令插件不太具有通用性,稍微变一点的花指令无法去除。

n1ng 发表于 2024-10-16 16:35

落尘大大和你呢 发表于 2024-10-16 13:42
去除花指令插件不太具有通用性,稍微变一点的花指令无法去除。

是这样的,只能去除一些简单基础形式的

nimo 发表于 2024-10-16 21:08

谢谢楼主指点,懂了许多。

chenshien 发表于 2024-10-17 10:45

谢谢楼主

6sir 发表于 2024-10-17 19:17

只可以去除一些简单的

n1ng 发表于 2024-10-17 21:25

6sir 发表于 2024-10-17 19:17
只可以去除一些简单的

是的,对有变化的花指令效果可能也不好,这里也在想有没有什么好的思路

daymissed 发表于 2024-10-17 22:49

感谢分享,正好学习基础.

xulous 发表于 2024-10-19 08:41

谢谢楼主
页: [1] 2 3
查看完整版本: CTF常见花指令去除IDA插件