吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3485|回复: 15
收起左侧

[原创] 160个Crackme之045学习笔记

[复制链接]
海天一色001 发表于 2020-8-16 16:14
本帖最后由 海天一色001 于 2020-8-16 16:24 编辑

第45个CM程序,打开Dope2112.2.exe,点击Check按钮,弹出错误提示信息框;点击Info按钮,弹出About信息框。
001.png     002.png     003.png
第一步、查壳:
004.png
Delphi程序,无壳。
第二步、爆破:
几个专用的Delphi反编译工具无法正常加载,直接用OD载入:
005.png
和上一个程序一样,一大堆的call,不知道有什么用。
再用智能搜索字符串试一试,没找到错误提示框的内容;试试PE Explorer:
006.png
利用PE Explorer自带的反汇编器很轻松地找到了按钮事件及其地址,记下这个00421DC8。
回到OD中,Ctrl+G键来到00421DC8处下断,F9运行程序,输入Name/Serial=“52pojie/1234567890”,点击Check按钮,程序断下:
F8单步慢慢向下,注意信息栏、寄存器窗口和堆栈窗口的信息:
007.png
call 00411880应该是得到文本编辑框的内容,并存入栈中,将字符串长度存入eax中,
所以在00421DF2处的调用call 00411880后得到假码入栈中,此时eax=0xA;
在00421E00处调用call 00411880后得到Name入栈,此时eax=0x7;
call 00403364应该是单纯地得到文本长度,在00421E05处得到了Name字符串地址指针作为参数,在00421E08处调用这个call得到Name字符串的长度;
008.png
再向下,猜测00421E0D处判断Name字符串应不少于4个字符,少于则跳到00421E6B处失败,不少于则跳到00421E1E处得到Name字符串,
00421E21处再调用0043364处的call得到文本长度;
继续向下,如果Name为空,则跳过注册算法:
从00421E2A至00421E43处是具体的注册算法:
009.png
运行00421E43处的call 00405330后,将上面计算出的数值转换成10进制数值形式,压入栈中,此时可以看到栈窗口中情况:
010.png
严重怀疑这个数值就是真正的注册码,先试一试,弹出正确提示。
011.png
本想先爆破的,没想到先把注册码找到了。继续单步向下,
012.png
00421E48处得到真码,00421E4B处得到假码,
00421E4E处的call 00403474是关键call,作用是用来比较真假码;
00421E53处的跳是关键跳,如果关键call返回结果为零,继续向下弹出正确信息,如果不为零,则跳到错误信息框。
所以要爆破很简单了,将00421E53处指令nop掉,保存为Dope2112.2_nop.exe后打开,随意输入Name/Serial,点击Check按钮均弹出正确信息框来,说明爆破成功。
第三步、追码:
爆破时已知从00421E2A至00421E43处是具体的注册算法:
013.png
Name字符串长度加一作为循环次数,
分别取Name字符串前一位(通常为0)及Name字符串中每一位字符的ASC值,
逻辑左移9位(相当于乘以0x200),
累加后的值再加上0x37存入ebx中,
最后转换成10进制形式,即Name对应的注册码。
注册算法(VB)

[Visual Basic] 纯文本查看 复制代码
Option Explicit
Private Sub Command1_Click()
Dim Name As String
Dim i As Integer
Dim Num, Serial As Double
Name = Text1.Text
If Len(Trim(Name)) < 4 Then
MsgBox ("Name必须超过4位,如不符合要求,默认Name为“52pojie”,Serial为“326711”!")
Text1.Text = "52pojie"
Text2.Text = "326711"
Exit Sub
End If
Serial = 55
For i = 1 To Len(Name)
Num = Asc(Mid(Name, i, 1))
Num = Num * 512
Serial = Serial + Num
Next i
Text2.Text = Serial
End Sub

附件 045.rar (439.71 KB, 下载次数: 6) ,含CM原程序、爆破后的程序、注册机、OD的调试文件等。
百度链接:https://pan.baidu.com/s/1NEpyyUefbKcoJvMGG_9OmQ
提取码:p8dk。

免费评分

参与人数 4威望 +1 吾爱币 +23 热心值 +4 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gebiao3333 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
__不说 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
19183311119 + 1 + 1 热心回复!

查看全部评分

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

skypojie51 发表于 2020-8-16 19:46
感谢分享
SharkCan 发表于 2020-8-16 23:44
lr957 发表于 2020-8-17 10:42
19183311119 发表于 2020-8-17 13:34
谢谢楼主分享
myapan 发表于 2020-8-17 13:48
不错的技术贴,谢谢分享。
byl20com 发表于 2020-8-18 10:15
很不错的的软件,值得分享
sun12345 发表于 2020-8-18 13:00
天天都没有你的段子好
__不说 发表于 2020-8-19 09:08
感谢分享!已经开始做前边的实验了
qcz00622 发表于 2020-8-19 10:13
谢谢大佬详细的解说步骤,比之前那个链接写的好!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-27 02:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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