题目:ezmaze

re选手投递区

链接:https://adworld.xctf.org.cn/challenges/details?hash=8254ba70-6bfd-11ed-ab28-000c29bc20bf&task_category_id=4&rwNmOdr=1676962297545

无壳,64位,打开查看main

  1. __int64 __fastcall main()
  2. {
  3. _main();
  4. printf("Welcome to the maze game. Try to get out of the maze and get the flag.\n");
  5. initmap();
  6. text_55("%s", Input);
  7. if ( check(Input) )
  8. printf("Congratulations on coming out of the maze! The flag is 'flag{your input}'\n");
  9. else
  10. printf("What a pity. You're still trapped in the maze :(\n");
  11. system("pause");
  12. return 0i64;
  13. }

将输入的调入了内部函数check,

  1. bool __fastcall check(char *ch_0)
  2. {
  3. int v2; // eax
  4. char *v3; // rcx
  5. unsigned int v4; // er8
  6. unsigned int v5; // edx
  7. char *v6; // r11
  8. char v7; // al
  9. v2 = strlen(ch_0);
  10. if ( v2 > 0 )
  11. {
  12. v3 = ch_0;
  13. v4 = 0;
  14. v5 = 0;
  15. v6 = &ch_0[v2 - 1 + 1];
  16. while ( 1 )
  17. {
  18. v7 = *v3;
  19. if ( *v3 == 's' )
  20. {
  21. ++v5;
  22. }
  23. else if ( v7 > 's' )
  24. {
  25. if ( v7 != 'w' )
  26. return 0;
  27. --v5;
  28. }
  29. else if ( v7 == 'a' )
  30. {
  31. --v4;
  32. }
  33. else
  34. {
  35. if ( v7 != 'd' )
  36. return 0;
  37. ++v4;
  38. }
  39. if ( !realmap[10 * v5 + v4] || v5 > 9 || v4 > 9 )
  40. break;
  41. if ( v6 == ++v3 )
  42. return v4 == 9 && v5 == 9;
  43. }
  44. }
  45. return 0;
  46. }

很明显的思路从(0,0)->(9,9).wsad控制上下左右

现在就是要找到迷宫了

可以看到这个if ( !realmap[10 * v5 + v4] || v5 > 9 || v4 > 9 ),realamp是我们要找的迷宫了,

但是查看到发现没有。。应该是程序运行时才出来的,

main()函数中的initmap();应该就是生成迷宫的了,动态调试一下

选中edit->Exorp data导出即可得到迷宫

最简单的方法手动走出迷宫

  1. flag{sddssdddwddwddsssaasassssddd}

感兴趣的话可以学习一下优先搜索算法得到路径

攻防世界_ezmaze的更多相关文章

  1. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  2. CTF--web 攻防世界web题 get_post

    攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...

  3. 攻防世界 web进阶练习 NewsCenter

    攻防世界 web进阶练习 NewsCenter   题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...

  4. 【攻防世界】高手进阶 pwn200 WP

    题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int ...

  5. XCTF攻防世界Web之WriteUp

    XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...

  6. 攻防世界 | CAT

    来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...

  7. 攻防世界 robots题

    来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...

  8. 【攻防世界】 高手进阶区 Recho WP

    0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...

  9. CTF -攻防世界-crypto新手区(5~11)

    easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间  明明没算错 ...

  10. 攻防世界web新手区做题记录

    学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在 ...

随机推荐

  1. MySQL(十三)MySQL性能分析工具:慢查询日志与PROFILE查询成本

    性能分析工具SLOW QUERY LOG.PROFILE的使用 ​ 数据库调优的目标就是响应速度更快,吞吐量更大.利用宏观的监控工具和微观的日志分析可以帮助我们找到调优的思路和方式. 数据库调优的步骤 ...

  2. Java中「Future」接口详解

    目录 一.背景 二.Future接口 1.入门案例 2.Future接口 三.CompletableFuture类 1.基础说明 2.核心方法 2.1 实例方法 2.2 计算方法 2.3 结果获取方法 ...

  3. vue侦听器(引入vue.js写法)

    首先在html中引入vue.js,具体怎么下载可以参考https://blog.csdn.net/lvoelife/article/details/129254906,下载后在html中引入: 侦听d ...

  4. Kubernetes中使用Helm2的安全风险

    参考 http://rui0.cn/archives/1573 英文文章  https://blog.ropnop.com/attacking-default-installs-of-helm-on- ...

  5. R-SVM-plot踩坑记录

    并非所有的 svm 类型都支持plot.svm- 只有分类方法支持,而回归不支持. 所以代码应该svm_fit <- svm(factor(y)~x1+x2,data = df, kernel ...

  6. 可视化大屏:mapbox+vue全攻略

    如题图,mapbox是一个支持真3D地形展示的webGIS框架,与常用的Leaflet.Cesium和Openlayers并称四大框架,本文将介绍mapbox-gl js 在 vue 中的用法. 为什 ...

  7. mysql安装my.cnf配置

    进入my.cnf文件//乱码修改 设置编码 character_set_server = utf8mb4 //编码 collation-server = utf8mb4_general_ci //连接 ...

  8. API网关:开源Apinto网关-上游服务篇(二)

    功能介绍 服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题.通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数 ...

  9. [Pytorch框架] 1.6 训练一个分类器

    文章目录 训练一个分类器 关于数据? 训练一个图像分类器 在GPU上训练 多GPU训练 下一步? 训练一个分类器 上一讲中已经看到如何去定义一个神经网络,计算损失值和更新网络的权重. 你现在可能在想下 ...

  10. Centos7.x jmeter + ant + jenkins接口自动化框架部署

    一.基础环境准备 1.jmeter安装(之前文章有介绍过) 2.ant安装 · 官网下载:https://ant.apache.org/bindownload.cgi · 上传服务器,执行 tar - ...