吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1859|回复: 1
收起左侧

[CTF] [HUBUCTF 2022 新生赛]help(ida动调+迷宫

  [复制链接]
Zer0o 发表于 2023-10-15 21:36

重点:ida动调找到地图

附件下载

https://wwvc.lanzouj.com/i1vh91bvxtwd

查壳

64位,无壳
image.png

分析

丢入ida64,找到main函数,F5查看伪代码
image (1).png
可以看到输入path之后,有一个CreateMap函数,看着函数名就知道是在这创建地图,所以我们在这里下一个断点,进行动态调试

ida动态调试

点这个蓝色的圆圈下断点,变红就证明下断点成功
image (2).png
选Local Windows debugger调试器
image (3).png
点击左边的绿色三角形运行,先随便输入
image (4).png
回车之后,按Tab,跳到C伪代码页面
image (5).png
F7单步调试,进入CreateMap函数
image (6).png
再一直按F7单步调试,直到地图全部出现,自动跳到最开始的main函数页面,点OK
image (7).png
双击进入CreateMap函数
image (8).png
再双击map
image (9).png
找到地图
image (10).png

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

再次分析

分析CreateMap函数,很明显,地图需要以16个为一组
image (11).png
修改之后

[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]
main函数限定了path长度为54
image (12).png
再看check函数,s就是path,x=15,y=1,分析代码,可以确定,迷宫的初始位置是(15,1),且x,y都是从0开始数的,所以我们可以找到迷宫初始位置
image (13).png
初始位置,走出迷宫,且path的长度必须是54
image (14).png
使用word文档,帮忙高光一下0,这样就好看多了
image (15).png
path:wwdddwwwaaawwwwwwwwwddddssssdddssdsssssssdddwwwwddsssd
main函数提到了,flag是path进行md5之后,加个NSSCTF{}就可以了
image (16).png
md5加密,取32位小写
image (17).png

flag:NSSCTF{a8622109e2fb1296e06d5eed6f78f954}

免费评分

参与人数 3威望 +1 吾爱币 +21 热心值 +3 收起 理由
笙若 + 1 + 1 谢谢@Thanks!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
exile321 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hemingway111 发表于 2023-10-16 15:42
有用,感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表