[BUUCTF]新年快乐

直接打开, 让输flag, 随便试一下

image-20220120234044392

首先D.I.E查壳

D.I.E查壳工具: Github

image-20220120232650513

可见是UPX壳, 就不上脱壳机了, 上x32dbg手工脱壳

image-20220120234405168

从入口往上翻能看到pushad, 一般UPX壳的的pushadpopad隔得不远, 往下翻就能找到,也可以使用堆栈平衡法(esp定律法)来找popad

image-20220120234745819
image-20220120235818368

跟到0x401280里, 看起来没问题, 尝试脱壳, 使用Scylla插件

image-20220121000101326

OEP设置为0x401280再IAT Autosearch, 再get import, 一切正常, dump出exe, 再fix dump刚导出的exe

image-20220121000248577
image-20220121000337291

尝试打开, 正常运行, 说明脱壳成功

image-20220121000655406

再用D.I.E查看, 已经无壳了

image-20220121000749537

拖进IDA分析, F5查看伪代码, 就是比较输入与字符串"HappyNewYear!", 所以flag应该就是flag{HappyNewYear!}image-20220121001208743

验证, flag正确

image-20220121001339364