crackme 用户名和密码

上次破解出了第一个crapem的验证码,这次破解一下它的用户名密码,并且要知道密码生成的算法。

首先运行一下程序,随便输入几个用户名和密码

 

提交肯定错误,弹出:

根据弹窗内容,中文搜索进入,然后代码分析:

 最后得出了密码的算法:将输入的用户名的ASCII码的二进制数字的第一个字节的数据转换成16进制后乘以16进制的29再乘以2,最后结果转换为十进制,然后再和字符串连接起来。

这个题目结束(注册机以后做,还需要一点基础)。

 

 

 

然后是BUGKU上的第四题。

打开是个游戏:

这个游戏卡了很久,其实一开始我是把这个游戏玩过去了的,但是这样收获不到东西,最后还是死磕出来了。

把程序拖入OD,字符串搜索,找到flag get,跳转过去:

 

看这个样子应该是从别的地方跳过来的,因为上面全是int 3 中断。但是我们跟着跳回去发现并没有生成flag的代码,只是判断的代码,所以我们推测flag应该是在下面生成,我们往下翻。

发现有很长的一段数据存储,很可疑,我把程序拖入IDA,然后转换这些数据发现并不是flag,所以再到OD中往下分析。最后发现有一段循环,分析:

得出flag的算法,编写脚本:

运行得出flag:

算法就是将那一大堆数据分成两堆,然后分别进行异或,再和0x13进行异或,最终结果就是flag。

 

 

 

crapem第二题:

照常字符串搜索,然后分析:

 得出结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值