2019.10.1-RE

2019.10.1-RE Reversing.Kr -- Easy CrackMe

祝祖国 70岁生日快乐

在这里插入图片描述
首先祝祖国越来越强大,我写自己的第一篇也正好在今天!!!

序言

这是我第一次在CSDN上写博客,也是第一次怎么正规以及正式的写博客,可能有一些地方还会有疏忽和遗漏,希望读者能够指出我的问题!十分感谢!

另外同时也希望自己能够坚持下去,自己定下的目标:每月最少要出四篇高质量的文章!加油!这里面主要是记录一些我做的CTF题以及复现的题目,还有就是自己的学习成长过程!

Reversing.Kr – Easy CrackMe

首先是直接双击运行

得到下面图片所示:
在这里插入图片描述

这个时候我们尝试输入一些东西来帮助我们接下来的判断
接着我们发现无论我们输入什么或者即使是什么都不输入都是一样的!

在这里插入图片描述
因此直接拖进IDA里面在这里插入图片描述

上去直接SHIFT+F12显示字符串
然后能够看到–>Incorrect Password
可以从这里下手双击跟进
在这之后,可以直接F5查看==“伪代码”的,但是我的IDA有些问题,而且大佬们的建议就是不要太过于依赖F5的“伪代码”==,有时候会不太准确
不过在这篇文章中我会先按照F5去分析。(PS:这个并没有太过于影响分析!)在这之后我会再写一篇有关一些与汇编基础的文章以及后续这个题从汇编指令转换来。可能会出的较慢一些,并且还可能会有一些错误,希望路过的大佬可以指出,十分感激!!!

在这里插入图片描述
在这里我们看到明显是再sub_401080函数中是有一个判断的,然后决定程序的走向我没接着跟进到sub_401080函数中看看
下面的是F5后的:

在这里插入图片描述
通过这个我们能发现重点在if这个判断语句这里,if通过了就输出密码错误,因此我们需要找到使if不成立的密码。
首先观察声明的部分,String v3 v4 v5 是一片连续的空间,并且String在最前面,接着是V3、V4、V5。这个我可能会在具体分析汇编指令的时候重点写一下。
if的第一个条件是v3 != 97 ,因为’a’的ASCII码是97,那么v3就是’a’,
第二个条件,是判断v4是否等于a5y,a5y这里存储的是"5y"
在这里插入图片描述
我们需要让strncmp输出0,所以v4就必须是"5y"。又因为v4 是和 v3 连在一起的,所以我们得到了 “a5y”。
后面的V5也是一样的
最后那个因为String的地址在最前面,并且里面是与69对比,所以 ‘E’ 应该加到最前面。得到:
flag = Ea5yR3versing

第一次写作,希望大家多包涵。十分感谢!哪里有错误和不足也希望大家能够指出。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值