吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2027|回复: 1
收起左侧

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

[复制链接]
niestcheer 发表于 2022-4-19 13:01

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

前言

昨天异常顺利,然后想着去看画眉老师的视频继续学习来着。不知道哪根神经搭错了。又去研究给我上了一课的公司的软件。然后还是被狠狠地上了一课。哈哈,果然做人不能太飘啊。

正题

今天继续冲着2\160的目标前进。冲啊!


CRACKME 编号 2 破解之路

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

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

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

bangbang0329 发表于 2022-4-20 15:41
谢谢分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表