当前位置: 首页> 房产> 市场 > 外链推广平台_网页制作素材图片美食_点击器_推广方案模板

外链推广平台_网页制作素材图片美食_点击器_推广方案模板

时间:2025/8/23 9:17:46来源:https://blog.csdn.net/we_solo/article/details/144095594 浏览次数:0次
外链推广平台_网页制作素材图片美食_点击器_推广方案模板

是不是做习惯了常规的逆向题目?试试这道题,看你在能不能在程序中找到真正的flag!注意:flag并非是flag{XXX}形式,就是一个’字符串‘,考验眼力的时候到了! 注意:得到的 flag 请包上 flag{} 提交

下载附件,照例扔入Exeinfo PE查看信息

32位程序,没有加壳(壳是对代码的加密,起混淆保护的作用,一般用来阻止逆向)。

IDA32打开,查看main()函数

打开一看确实不太一样

“选择一个方向,向上下左右行走”,合理猜测是一个东西在地图上行走,且v3[25]表示行数,v4表示列数。按照这个猜测,再看看具体的行走细节:

如果v3[25] >= 5或者v3[29] >= 5,那就退出;如果v7[ 5*v3[25] - 41 + v4 ]是'1',就退出;如果v7[同上]是'#',就输出正确并退出。

v3[29]是什么呢?查看前面声明变量的部分,可以看到v3是一个长为28的数组,所以v3[29]其实就是v4(“v4”这个名字就是IDA给命名的,之所以叫v4,是因为它在内存中的地址紧跟在v3后面)。如果上面的猜想成立,那么这部分意思就是“如果行数或列数不在0到4,那么就退出”。再加上v7下标中的“5*v3[25]”和“+v4”(尽管没看懂“v7”和“-41”),以及v3有值的长度正好是25,基本就可以确定 本题是在一个5*5的地图中行走,并且 flag是一个由1234组成的字符串,按照它可以从v3[0]开始,经过若干个非'1'的位置,走到一个值为'#'的位置

那就将v3写成5*5的形式,从左上角走到'#',依此写出flag。

*1111
01000
01010
00010
1111#222441144222flag{222441144222}

关键字:外链推广平台_网页制作素材图片美食_点击器_推广方案模板

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: