0x01、题目:游戏过关
0x02、WP
1、右键链接,点击新建标签页打开链接,保存附件 2、开始了: WP 一、题目分析过程:
- 首先打开可执行文件,如下图:
<li>由游戏题目可知,我们要输入1到8,这八个数字。而0是重置功能 分析:①很明显这个游戏就是,答题者输入数值,回显flag。 ②这个就需要对答题者输入的内容与正确的答案就行比对,或者对于答题者输入正确的值时候,自动跳转到有flag的函数并回显</li>
二、 题目解题过程: 第一步:使用OD软件,打开这个可执行文件; //OD软件可以编辑可执行文件
//结果如上图所示
第二步:右击代码区的空白,点击超级字串参考的查找UNICODE
//结果如上图所示
第三步:如第二步的结果所示,我们看到了done!!!the flag is的字样,首先我们双击它,其次,我们再往上滑动,发现了入口:0071E940
① 首先:
② 其次:
第四步:我们点击一下,这个入口处:0071E940 ,我们会发现,这个入口的跳转来自00717AB4;
第五步:我们找到00717AB4,点击一下它,我们会发现它的本地调用来自0071F66C
第六步:我们转到0071F66C后,进行观察,我们可以进行修改最终8个JNZ判断的跳转,也就是把跳转到flag函数入口的上一个跳转的上一个本地调用地址00717AB4 写为这个地址0071F671的下一跳转 //也就是在:0071F671处把下一跳改为00717AB4
第七步:这个可执行文件经过了OD的修改之后,我们要保存。那么问题又来了。。。 首先:我们要知道的是,保存的原则: 修改代码区,保存代码区 修改数据区,保存数据区
其次:开始保存咯。。。由于我们修改了代码区的地址,所以我们右击代码区的空白处,单击复制到可执行文件的选择
最后:右击新弹出的一个窗口的空白处,单击保存文件
第八步:我们打开保存这个可执行文件的目录,会发现多出了一个文件,正常情况,不用担心,点击可执行文件运行即可

第九步:我们直接输入一个1到8的随机一个数字,我们会发现弹出了flag //这是因为,刚刚的8个判断我们都跳转到了0071F671,而00717671跳转到了00717AB4,而00717AB4跳转到了0071E940,而0071E940是flag函数的入口地址 //其实除了输入1到8这八个数字,输入0也可以。。。。
========================》》》》》》》 Flag:zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}
0x03、Flag
zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}