当前位置: 首页> 游戏> 游戏 > 网页制作与发布的流程_北京开发公司_大数据分析培训机构_购物网站页面设计

网页制作与发布的流程_北京开发公司_大数据分析培训机构_购物网站页面设计

时间:2025/8/4 5:36:45来源:https://blog.csdn.net/we_solo/article/details/143992229 浏览次数:0次
网页制作与发布的流程_北京开发公司_大数据分析培训机构_购物网站页面设计

 拿到exe文件先查下信息,是一个64位程序,没有加壳 (壳是对代码的加密,起混淆保护的作用,一般用来阻止逆向)。

然后拖进IDA(64位)进行反汇编

一般来说,先查看一下字符串,简单的题目会有flag或者敏感数据字符等信息,方便我们定位函数查看字符串的方法为shift+F12

找到了关于flag的信息,双击点进去找到这段字符串的位置

ctrl+x(交叉引用)查看是哪段函数调用了该字符串

汇编代码对于初学者来说读懂比较困难,可以按“F5”查看伪C代码

分析代码段

strncmp(str1,str2,v3)是把str1与str2两字符串的前v3位数做一个比较,若str1=str2,返回0;大于返回正数,小于返回负数

if(!strncmp(str1,str2,v3))是一个判断语句,if()括号里面的内容如果为真,则输出

"this is the right flag",这时我们只需要知道什么情况为真。

然后看括号里面的内容 !( strncmp(str1,str2,v3) )为真的情况

!为非,所以只要( strncmp(str1,str2,v3) )为0, !( strncmp(str1,str2,v3) )即为真;为0的情况已经在上面对strncmp函数的讲解说过了,str1,str2两个字符串相等返回值即为0。

选中数字按"R"键可以将数字转换为字符。即str2中所有的"o"都被转换成了"0" 。

"sub_1400111D1"是printf之类的输出函数。

"sub_14001128F"是scanf函数,所以字符串str1为我们输入的内容。

双击str2进去之后就找到了str2 '{hello_world}',因为str2中所有的"o"都被转换成了"0"。

flag为 flag{hell0_w0rld}

关键字:网页制作与发布的流程_北京开发公司_大数据分析培训机构_购物网站页面设计

版权声明:

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

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

责任编辑: