re学习笔记(40)i春秋2020 GYCTF-re-吃鸡神器

i春秋2020新春战疫赛-re-吃鸡神器
新手一枚,如有错误(不足)请指正,谢谢!!
个人博客:点击进入
题目描述:

卢姥爷收到了朋友发来的“吃鸡神器”,但是朋友忘了告诉他登录账户和密码,⽽且卢姥爷也不好意思去问。所以 请为卢姥爷以 “lubenwei” 为⽤户名注册个账户。flag格式为 “flag{对应密码}”

题目下载:

链接: https://pan.baidu.com/s/1gVE158CY6VmSV4qUwtXXqA 提取码: 2020

OD载入,字符串搜索
在这里插入图片描述
找到关键字符串,双击进入
在这里插入图片描述
F2下断点,运行程序,
在这里插入图片描述
输入用户名和假码,进行login
在这里插入图片描述
程序被断下来。
在这里插入图片描述
ctrl+F9执行到返回,返回上层函数
在这里插入图片描述
发现所在模块变成了一个dll,继续ctrl+F9执行到返回。发现来到了Login主模块
在这里插入图片描述
发现没有跳过去的跳转啥的。retn返回上层call
来到这里
在这里插入图片描述
这个程序IDA的基址和OD的基址一样,都是0x400000,用IDA配合查看
在这里插入图片描述
用IDA找到弹窗call地址0x00402ade
快捷键G打开跳转地址窗口
在这里插入图片描述
F5查看伪代码
在这里插入图片描述
发现判断是否进行错误弹窗代码的条件是402090函数参与的,双击进入查看伪代码
在这里插入图片描述
加上OD调试可知此处将输入的用户名的每个字符取出,在35~41行的循环里,对result进行变换最终返回result
因为用户名题目已经给出,所以返回的result为一个定值0x41d26f00
返回OD,也就是eax的值为0x41d26f00,而eax与edi进行比较,来控制下面的跳转,edi是在0x4021d1地址处被eax赋值的。
而eax是0x4021c9地址处调用的0x401fb0call的返回值。
在这里插入图片描述
IDA查看401fb0()函数
在这里插入图片描述
使用OD调试可知这部分是对输入的密码进行处理。输入只能是0~9,a~f。
(其实就是将输入的十六进制字符串转换为十六进制数值然后返回

若想成功,也就是对密码处理后的返回值是0x41d26f00,也就是密码是字符串"41d26f00"
在这里插入图片描述
根据题干输入密码即为flag
最终flag为flag{41d26f00}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forgo7ten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值