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
``` 去花用ai很好用 zhu801234567 发表于 2024-10-19 15:14
Hh看不懂
思路就是用正则表达式去匹配一些基础形式的花指令,比如jz xxx +jnz xxx +junkcode,但是因为如果存在变动就会匹配不到 去除花指令插件不太具有通用性,稍微变一点的花指令无法去除。 落尘大大和你呢 发表于 2024-10-16 13:42
去除花指令插件不太具有通用性,稍微变一点的花指令无法去除。
是这样的,只能去除一些简单基础形式的 谢谢楼主指点,懂了许多。 谢谢楼主 只可以去除一些简单的 6sir 发表于 2024-10-17 19:17
只可以去除一些简单的
是的,对有变化的花指令效果可能也不好,这里也在想有没有什么好的思路 感谢分享,正好学习基础. 谢谢楼主