160个CrackMe—第一个:“You have to kill me”

从前有160个CreakMe,后来….

不积跬步,怎么能至千里之外呢?所以我们从第一个开始破解

这里写图片描述

从最后修改时间可以看出来,是一个在1997年被前辈写出来的一个程序。然而20年过去了,我才开始膜拜前人的作品。惭愧惭愧

主界面
这里写图片描述

一共有三个选项,一个 账号/注册码,一个退出,还有一个注册码
这里写图片描述

这个就是 账号/注册码 的界面,正确输入账号和注册码应该就可以解开这道题

这里写图片描述
第一个编辑框输入“1234567”,第二个编辑框输入“qqqqqqq”,点击 Check it Baby! 弹出一个窗口,上面写着“Sorry, The serial is incorect!”,至此我们已经知道,输入错误的账号和注册码后会弹出一个窗口,还有一个字符串

既然我们知道了有字符串可以查找,就用最简单的方法找到关键函数,查找字符串一定要进入到主模块才可以,不进入主模块查找的就是别的模块的字符串

这里写图片描述

我们查到了这些,虽然没有“Sorry…”,但是我们似乎找到了什么意外的收获! “Good Job dude !! =)” 是什么鬼,你干嘛夸我~ 难道是我破解了他? 哈哈哈,从这里进去就能找到账号/注册码输入正确的时候的程序的位置了,再往上回溯肯定就能找到验证账号/注册码的地方

这里写图片描述

我们找到这个函数的起始位置下一个断点

这里写图片描述

我们就找到了验证账号/注册码的函数了,接着我们详细的分析一下这个函数中的代码

这里写图片描述

我们看到这个函数内部是这样的,一直对账号进行操作,请忽略我上次写的垃圾注释

我们找到弹出成功窗口的地方

这里写图片描述

直接从这个函数开始的地方一个 JMP 跳到 0x42FB05 这个地址,就完成了暴力破解

暴力破解之后,不管输入什么账号和密码都会弹出成功的窗口

这里写图片描述

我们接下来看一下他的算法,试着写出一个注册机之类的东西

点开程序输入各种账号密码熟悉程序流程

然后找到弹出成功窗口的位置,从那里开始往上回溯

这里写图片描述

这是成功弹窗上的第一个函数,都是一些跳转,和设置标志位的代码,推断出这里应该是设置函数外判断是否跳转的依据,所以我们继续往上找

在成功弹窗上面第三个函数中发现了点可疑的痕迹
这里写图片描述

求出了一个“CW-4018-CRACKED”这样一个字符串,这次我们测试的账号是:132456,注册码是:qqqqqq
我们把这个字符串代入试试
这里写图片描述

成功破解,这里可以知道程序会求出一个注册码让我们通过检测
从上面的程序已知 CW 和 CRAKED 这两个字符串是存在在内存中的,那我们就要找一下4018这个数是怎么求出来的

总之。。。太麻烦了,就是通过输入的账号的第一位乘16进制的29,再和自己相加,就得到CW 和 CRAKED 这两个字符串中间的那个数字
(31h * 29h)*2 = FB2=4018

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值