niestcheer 发表于 2022-4-19 13:01

摸爬滚打着学习破解之路--第二章 CRACKME160之二

# 摸爬滚打着学习破解之路--第二章CRACKME160之二
## 前言
昨天异常顺利,然后想着去看画眉老师的视频继续学习来着。不知道哪根神经搭错了。又去研究给我上了一课的公司的软件。然后还是被狠狠地上了一课。哈哈,果然做人不能太飘啊。
## 正题
今天继续冲着2\160的目标前进。冲啊!

---
## CRACKME 编号 2 破解之路
1. 破解第一步:运行程序,确定破解目标
    - 运行程序,程序界面如下:(下载这些过程以后都省略了,第一章介绍过了)
   
    - 嗯嗯,今天的程序很讲规矩,就一个验证。输入账号密码,然后验证。先继续点验证走起。
   
    - 来了,它来了。熟悉的错误提示消息框它又来了。该整理破解思路了。
2. 破解第二步:明确破解目标,确定破解思路
    - 现在我们的目标依然是暴力破解,无论输入什么用户名密码,都得给我返回正确。(逆算法,和找正确注册码当然更高级,我这不是不太会么,还是先把暴力破解方法练到滚瓜烂熟再说)
    - 怎么才能干掉这个验证呢,同样的思路,既然错了它给提示,那我首先要找到错误的地方,然后看看能不能不执行。
    - 不执行错误的地方,是不是就执行到成功的地方呢?我的想法依然是“管它的,既然有了一个思路,先不执行错误提示再说。”
    - 好,开干(有问题,我再从这里重新想破解思路。哈哈)
3. 破解第三步:找到关键破解点,暴力开干
    - 新程序来了。我们得按照大大门总结的经验来,看看有没有壳。(万一有壳咋办?有壳再说。哈哈)
   
    - OK!漂亮,没壳,是VB写的。哈哈,虚惊一场。那接下来就是常规操作咯。
    - 程序拖进OD,然后转到`00401000`,再搜索字符串。再找到错误提示的字符串。(一气呵成,感觉自己又行了!)
   
    - 这字符串这么少的吗?我都有点震惊了。不管了。先在错误提示处下断点看了再说。
   
    - 仔细看上面的图片,`0040258B`和`004025E5`的位置。又是熟悉的配方,只要让跳转不实现,就可以不跳转到错误提示,执行到YOU GET IT。嗯,这么简单的?我有点困惑啊。先不管,改了再说
   
    - 好吧,就知道。第二个程序了,要是路数还跟第一个一样,那怎么行呢。果然来新的要求了。KeyGen是什么意思,让写注册机?
    - 一直不想去研究具体验证的,可是它这个提示,麻烦了,得看看注册码是怎么生成的了。这下该咋整?停下来重新整理破解思路吧。
4. 再一次整理破解思路
    - 要求写注册机,又不是网路验证。那就有两种可能,一种是用户名和密码是唯一的,一种是根据用户名计算得到密码,然后与输入的密码比对是否正确。无论哪一种,都需要对输入的密码进行比对。那么破解的关键点就是找到比对位置。
    - 找到比对的位置怎么办呢?如果是固定的用户名和密码,到了那个位置,应该就能看到正确的用户名和密码是什么。如果是计算后比对,那应该就会有一个算法CALl。哎。真不想碰到第二种。费脑。
    - 思路已定,话不多说,开干。
5. 再一次动手破解
    - 前面的过程就省略了,既然要找密码比对的位置,先下个字符串比较的断点。
    - 嗯,漂亮。我很遗憾的告诉大家,我居然没办法给字符串比较位置下断点,即使有插件提示的VB专用函数(前面查壳是VB写的)。哪位大大知道为什么我不能下字符串断点,请指点。现在按照我的能力水平,我只能换个思路了。不能再函数中间下断,那只能去函数开始位置下断了,也就是点击提交按钮的位置,把我们的输入传给程序,看程序后续怎么处理,来一步步跟踪看看了。好吧。开干。先告诉大家我下断点的函数。
   
    - Ok,程序成功断下。
   
    - 因为看不懂,我直接执行到用户代码位置。
   
    - 下面就是跟踪的活了。至于为什么回到用户代码位置,前面的函数我们获取了系统输入,需要程序员自己写个代码去比较输入的内容是否正确,所以我们回到用户代码位置看它后面怎么执行。单步跟踪到疑似的地方再停下来。
   
    - 执行到上面位置的时候,我们发现EAX的值是我们输入的密码,ECX是个啥还不知道。然后有一个固定的字符串被输入了`AKA-`。而且这个函数,嗯,我不认识,所以去百度了下,是把一个字符串附加到另外一个字符串的尾部。先继续走下去看看附加的是什么。执行到CALL完成。
   
    - 看EAX里面的值。原来是用AKA-加上前面图片位置时候ECX的值。具体292690是怎么来的,好像我们还不知道。要回过头去看怎么变成的292690,感觉不是很有必要。只要在运行到`0040251D`的时候把ECX值读出来前面加上AKA-注册码就出来了。具体注册机怎么制作,有工具很方便的完成,就不演示了。
    -这里我再说一下,我发现用正确的注册码进去,出来的提示框跟我暴力破解的一样。不知道是不是还有哪个环节没搞对。请各位大大指点。如果就是这样的,那我那么麻烦的去搞注册机干啥,直接干掉多省事啊。害我多搞了一个多小时。哎!
   
---

## 今天到此为止,该补昨天的视频课了。

bangbang0329 发表于 2022-4-20 15:41

谢谢分享。
页: [1]
查看完整版本: 摸爬滚打着学习破解之路--第二章 CRACKME160之二