充满争议点的 HUBUCTF 2022 新生赛
题目地址:
https://wwvc.lanzouj.com/i1vh91bvxtwd
首先,查壳
信息:
文件名: H://BUUCTF/HUBUCTF 2022 新生赛/help.exe
大小: 57368(56.02 KiB)
操作系统: Windows(Server 2003)
架构: AMD64
模式: 64 位
类型: 控制台
字节序: LE
使用IDA64打开
在CreateMap()函数后面设置断点
地图
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,
1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1,
1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1,
1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0,
1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
从坐标(15,1)开始走迷宫,要求走54步走出迷宫
但是,由于没有规定迷宫出口位置,所以可以按照传统走法
path:
wwdddwwwaaawwwwwwwwwddddssssdddssdsssssssdddwwwwddsssd
main函数提到了,flag是path进行md5之后,加个NSSCTF{}就可以了。
md5加密,取32位小写。
flag:
NSSCTF{a8622109e2fb1296e06d5eed6f78f954}
也可以取巧,反复走2步,3步,6步,9步。。。等等
比如反复走2步的情况:
程序并没有定义迷宫的终点,只有path长度=54,只能走值为0的位置。那其实可以在原地反复横跳,path=
wswswswswswswswswswswswswswswswswswswswswswswswswswsws
程序也能执行成功
md5加密,取32位小写。
flag:
NSSCTF{b4c7911fe0bb4911eb77da360f6f329d}
我常用是OD动调,IDA静逻辑,PE看段,X看壳,PY走脚本,DBG来来K API,GPT翻译,CO代码,GG文献,Z盘回溯,这里回复
原文始发于微信公众号(利刃信安攻防实验室):【逆向分析】充满争议点的 HUBUCTF 2022 新生赛
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论