当前位置: 首页 > news >正文

攻防世界——game 游戏

下载下来是一个exe文件,可以用IDA打开

我们先运行一下

这是属于第二种类型,完成一个操作后给你flag

这种题我更倾向于动调直接得到flag

我们查壳

没有保护壳,直接32打开

进入字符串界面,找到显示的那部分

int __cdecl main_0(int argc, const char **argv, const char **envp)
{int v4; // [esp+0h] [ebp-FCh]int i; // [esp+DCh] [ebp-20h]unsigned int v6; // [esp+F4h] [ebp-8h] BYREFsub_45A7BE(&unk_50B110);sub_45A7BE(&unk_50B158);sub_45A7BE(&unk_50B1A0);sub_45A7BE(&unk_50B1E8);sub_45A7BE(&unk_50B230);sub_45A7BE(&unk_50B278);sub_45A7BE(&unk_50B2C0);sub_45A7BE(&unk_50B308);sub_45A7BE(&unk_50AFD0);sub_45A7BE("|              by 0x61                                 |\n");sub_45A7BE("|                                                      |\n");sub_45A7BE("|------------------------------------------------------|\n");sub_45A7BE("Play a game\n""The n is the serial number of the lamp,and m is the state of the lamp\n""If m of the Nth lamp is 1,it's on ,if not it's off\n""At first all the lights were closed\n");sub_45A7BE("Now you can input n to change its state\n");sub_45A7BE("But you should pay attention to one thing,if you change the state of the Nth lamp,the state of (N-1)th and (N+1)th w""ill be changed too\n");sub_45A7BE("When all lamps are on,flag will appear\n");sub_457AB4("Now,input n \n");while ( 1 ){do{while ( 1 ){sub_457AB4("input n,n(1-8)\n");sub_459418();sub_45A7BE("n=");sub_4596D4("%d", &v6);sub_45A7BE("\n");if ( v6 < 9 )break;sub_457AB4("sorry,n error,try again\n");}if ( v6 ){sub_4576D6(v6 - 1);}else{for ( i = 0; i < 8; ++i ){if ( (unsigned int)i >= 9 )j____report_rangecheckfailure();byte_532E28[i] = 0;}}j__system("CLS");sub_458054();}while ( byte_532E28[0] != 1|| byte_532E28[1] != 1|| byte_532E28[2] != 1|| byte_532E28[3] != 1|| byte_532E28[4] != 1|| byte_532E28[5] != 1|| byte_532E28[6] != 1|| byte_532E28[7] == 1 );sub_457AB4(v4);}
}

我们找,可以找到这个sub457ab4就是flag的函数

我们复制这个函数sub_457AB4

进入到这个界面,我们之间打这个输出的 sub45a7be函数给改为复制的函数

选中CTRL+ALT+K

复制成功是这样

然后我们保存一下

在edit里面选中patch,选最后一个apply

最后保存

再次运行就直接给flag了

(这个方法如果是纯净版的IDA可能需要插件)

又要到flag了,兄弟们!

相关文章:

  • 10 本让我 2023 年「生产力」暴增 5 倍的经典书|收藏
  • 05. Springboot admin集成Actuator(一)
  • Qt之QWidget 自定义倒计时器
  • 操作系统--磁盘存储器的管理
  • Apache Tomcat httpoxy 安全漏洞 CVE-2016-5388 已亲自复现
  • linux sed命令操作大全
  • Spring IoCDI
  • Mac OS 13+,Apple Silicon,删除OBS虚拟摄像头(virtual camera),
  • 网络爬虫之Ajax动态数据采集
  • 力扣labuladong——一刷day77
  • Debezium系列之:Flink SQL消费Debezium数据格式,同步数据到下游存储系统
  • 【时序分析】TimeGPT:首个时间序列分析基础大模型
  • Python生成器与迭代器
  • 列举mfc140u.dll丢失的解决方法,常见的mfc140u.dll问题
  • 【Vulnhub 靶场】【Hack Me Please: 1】【简单】【20210731】
  • android图片蒙层
  • HashMap剖析之内部结构
  • HomeBrew常规使用教程
  • JAVA多线程机制解析-volatilesynchronized
  • js 实现textarea输入字数提示
  • Nodejs和JavaWeb协助开发
  • rc-form之最单纯情况
  • ReactNative开发常用的三方模块
  • windows下使用nginx调试简介
  • 闭包--闭包作用之保存(一)
  • 编写符合Python风格的对象
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 订阅Forge Viewer所有的事件
  • 删除表内多余的重复数据
  • 使用parted解决大于2T的磁盘分区
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 想写好前端,先练好内功
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (175)FPGA门控时钟技术
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (6)添加vue-cookie
  • (8)STL算法之替换
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (论文阅读30/100)Convolutional Pose Machines
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (四)鸿鹄云架构一服务注册中心
  • (算法)Game
  • (小白学Java)Java简介和基本配置
  • (转)iOS字体
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .bat批处理出现中文乱码的情况
  • .dwp和.webpart的区别
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net mvc 获取url中controller和action
  • .NET 设计一套高性能的弱事件机制
  • .NetCore部署微服务(二)
  • .NET中 MVC 工厂模式浅析