攻防世界_ezmaze
题目:ezmaze
re选手投递区
无壳,64位,打开查看main
__int64 __fastcall main()
{
_main();
printf("Welcome to the maze game. Try to get out of the maze and get the flag.\n");
initmap();
text_55("%s", Input);
if ( check(Input) )
printf("Congratulations on coming out of the maze! The flag is 'flag{your input}'\n");
else
printf("What a pity. You're still trapped in the maze :(\n");
system("pause");
return 0i64;
}
将输入的调入了内部函数check,
bool __fastcall check(char *ch_0)
{
int v2; // eax
char *v3; // rcx
unsigned int v4; // er8
unsigned int v5; // edx
char *v6; // r11
char v7; // al
v2 = strlen(ch_0);
if ( v2 > 0 )
{
v3 = ch_0;
v4 = 0;
v5 = 0;
v6 = &ch_0[v2 - 1 + 1];
while ( 1 )
{
v7 = *v3;
if ( *v3 == 's' )
{
++v5;
}
else if ( v7 > 's' )
{
if ( v7 != 'w' )
return 0;
--v5;
}
else if ( v7 == 'a' )
{
--v4;
}
else
{
if ( v7 != 'd' )
return 0;
++v4;
}
if ( !realmap[10 * v5 + v4] || v5 > 9 || v4 > 9 )
break;
if ( v6 == ++v3 )
return v4 == 9 && v5 == 9;
}
}
return 0;
}
很明显的思路从(0,0)->(9,9).wsad控制上下左右
现在就是要找到迷宫了
可以看到这个if ( !realmap[10 * v5 + v4] || v5 > 9 || v4 > 9 ),realamp是我们要找的迷宫了,
但是查看到发现没有。。应该是程序运行时才出来的,
main()函数中的initmap();应该就是生成迷宫的了,动态调试一下

选中edit->Exorp data导出即可得到迷宫
最简单的方法手动走出迷宫

flag{sddssdddwddwddsssaasassssddd}
感兴趣的话可以学习一下优先搜索算法得到路径
攻防世界_ezmaze的更多相关文章
- CTF--web 攻防世界web题 robots backup
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
- CTF--web 攻防世界web题 get_post
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...
- 攻防世界 web进阶练习 NewsCenter
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
- 【攻防世界】高手进阶 pwn200 WP
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- 攻防世界 | CAT
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
- 攻防世界 robots题
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...
- 【攻防世界】 高手进阶区 Recho WP
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...
- CTF -攻防世界-crypto新手区(5~11)
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间 明明没算错 ...
- 攻防世界web新手区做题记录
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在 ...
随机推荐
- 【单元测试】Junit 4(八)--junit4 内置Rule
1.0 Rules Rules允许非常灵活地添加或重新定义一个测试类中每个测试方法的行为.测试人员可以重复使用或扩展下面提供的Rules之一,或编写自己的Rules. 1.1 TestName ...
- TCP三次握手一二三问
下面整理下TCP握手和挥手的几个问题,参考资料小林图解计算机网络 1.什么是三次握手? Client端向Server端发送SYN为1的报文段,携带一个初始序列号x,client端进入SYN_SENT状 ...
- C++/Qt网络通讯模块设计与实现(五)
在C++/Qt网络通讯模块设计与实现(四)中具体分析了Qt的信号槽.线程相关的知识,即从 Qt::ConnectionType,示例源码,结果论证,归纳总结等四个方面进行了全方面讲解,深刻阐述了代码设 ...
- wireshark抓包教程详解
https://blog.csdn.net/lixinkuan328/article/details/122985439 Wireshark 的抓包和分析,看这篇就够了!:https://blog.c ...
- .NET中使用RabbitMQ总结
目前业界使用较多的消息队列组件有RabbitMQ.ActiveMQ.MSMQ.kafka.zeroMQ等 之间的对比可以看这里 之前搭过ActiveMQ环境带源码 点击这里 后来发现RabbitMQ性 ...
- 从桌面和应用内 Activity的启动流程
1.APP还没有被打开过从桌面启动 <1>首先桌面进程会像AMS服务发送startActivity的请求,AMS从system_service中去拿----一次IPC通信 <2> ...
- DG:Oracle查看是否搭建DataGuard
Oracle查看是否是DataGuard 1.查看归档路径 show parameter log_archive_dest LOG_ARCHIVE_DEST_n, 归档文件的生成路径, LOCATIO ...
- django restframework的简单使用
django restframework的简单使用 1.快速上手 配置: (pip install djangorestframework==3.12.4) # settings.py INSTALL ...
- 基于DotNetCoreNPOI封装特性通用导出excel
基于DotNetCoreNPOI封装特性通用导出excel 目前根据项目中的要求,支持列名定义,列索引排序,行合并单元格,EXCEL单元格的格式也是随着数据的类型做对应的调整. 效果图: 调用方式 可 ...
- 在Jupyter Notebook,沉浸式体验ChatGPT
大家好,我是章北海mlpy 写代码,修Bug是 ChatGPT 目前最擅长的领域之一 今天向大家推荐一个刚刚开源的Python包 安装后可以直接在IPython和Jupyter Notebook中直接 ...