buuoj reverse1 writeup

题目(二):
【题型】Reverse
【题目】reverse1
【来源】(buuoj)https://buuoj.cn/challenges#reverse1
【思路】先用Exeinfo PE查壳,再用IDA Pro进行逆向分析。
【具体步骤】
Step1:首先对程序运用Exeinfo.Pe进行查壳,发现程序是64位的并且不加壳的,所以不用脱壳。
在这里插入图片描述

Step2:因为不用脱壳,所以直接放在逆向软件IDA64 Pro下进行查看程序。
在这里插入图片描述

Step3:首先查看字符串,在view里面选择open subviews再选择strings,然后出现文本中的字符串。
在这里插入图片描述

Step4:查看字符串里面有一句flag的字样,双击进入这个语句
在这里插入图片描述

在这里插入图片描述

Step5:然后右键点击List cross reference to进行定位,然后再次右键里点击List cross reference to进行定位,然后发现一串类似于flag的字符串。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Step6:点击F5,然后查看伪代码(如果按键被占用,用F5+Ctrl),根据伪代码猜测,if语句里面的sub_1400111D1应该是printf,外面的应该是scanf函数,所以当字符串str1与str2相等时生成flag。Str1是自己输入的字符串,所以查看str2的生成规则。
在这里插入图片描述

Step7:点击str2,发现未进行变化前的为hello_world,然后继续查看伪代码,发现for循环中对str2进行了变化,for循环将字符串中ASCII码为111的全部替换为了48,查找ASCII表发现是将o替换成了0,所以得到的str2为hell0_w0rld。得到flag。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值