BUUCTF Reverse 新年快乐(手工去壳)

BUUCTF Reverse 新年快乐(手工去壳)

一天一道CTF题目,能多不能少

下载文件用ida(32)打开,发现:
BUUCTF Reverse 新年快乐(手工去壳)_第1张图片
怎么可能才两个函数,猜测加了壳,直接查:
BUUCTF Reverse 新年快乐(手工去壳)_第2张图片
发现是UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo [Overlay]的壳?
就是UPX嘛,好像有什么直接脱壳的工具
但是好像可以手工去壳?在这里直接尝试手工去壳,就不使用脱壳机了
这个依旧是采用ESP定律的方法找OEP
直接拖进OD:
BUUCTF Reverse 新年快乐(手工去壳)_第3张图片
竟然直接就发现了popad,,,,,
直接找到下面的jmp下一个断点~~
F9运行到此处,直接F8,一般就到了OEP了
然后右键使用OD自带的脱壳调试~:
BUUCTF Reverse 新年快乐(手工去壳)_第4张图片
点击:
BUUCTF Reverse 新年快乐(手工去壳)_第5张图片
直接点击脱壳保存为新的exe文件,
再次查壳~~:
BUUCTF Reverse 新年快乐(手工去壳)_第6张图片
再次拖进IDA中查看,能够看见完整的函数结构:
BUUCTF Reverse 新年快乐(手工去壳)_第7张图片
直接分析主函数:
BUUCTF Reverse 新年快乐(手工去壳)_第8张图片
主函数很简单,就不用细说了,就是一个比较,
flag就是:flag{HappyNewYear!}

估摸着这个题就是考察一下脱壳~~
对代码的要求并不高~~

你可能感兴趣的:(CTF题,一天一道CTF,BUUCTF)