欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

个人日程助手1.0算法分析和注册机编写

程序员文章站 2022-04-06 23:30:16
作者:fwycfpg 文章来源:看雪技术论坛 【软件名称】: 个人日程助手1.0 【软件介绍】: 国产软件 / 共享版 / 信息管理 / 简体中文 /  1184 KB 【软件下...

作者:fwycfpg 文章来源:看雪技术论坛
【软件名称】: 个人日程助手1.0

【软件介绍】: 国产软件 / 共享版 / 信息管理 / 简体中文 /  1184 KB

【软件下载】:http://www2.skycn.com/soft/5282.html

【保护方式】:注册码 + 功能限制

破解工具】:Win2003, PEiD, Ollydbg,,

【破解目的】:研究算法分析

【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

【破解过程】:
侦测:用PEiD查壳 Borland Delphi 6.0 - 7.0 哇没有壳啊,现在没有壳的软件可是真少啊。
 
先运行软件,点“注册”输入注册码,点确定,提示“注册码不正确,请注册申请注册码”

废话少说。。OllyDbg 载入软件, 查找ASCLL字符串,找到“注册码不正确,请注册申请注册码”

双击来到下面:
0047AD7B   .  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]
0047AD7E   .  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
0047AD81   .  E8 1EC9FFFF   CALL Assistan.004776A4                     ;计算机器码,这我们不用管它
0047AD86   .  8B45 EC       MOV EAX, DWORD PTR SS:[EBP-14]
0047AD89   .  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
0047AD8C   .  E8 5FD1F8FF   CALL Assistan.00407EF0                     ;关键CALL,计算注册码
0047AD91   .  8B55 F0       MOV EDX,DWORD PTR SS:[EBP-10]
0047AD94   .  58            POP EAX
0047AD95   .  E8 9E96F8FF   CALL Assistan.00404438                     ;比较注册码
0047AD9A   .  0F85 8B000000 JNZ Assistan.0047AE2B                      ;关键跳转,爆破改为JZ就行了
0047ADA0   .  B2 01         MOV DL,1
0047ADA2   .  A1 98E44200   MOV EAX,DWORD PTR DS:[42E498]
0047ADA7   .  E8 EC37FBFF   CALL Assistan.0042E598
0047ADAC   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
0047ADAF   .  33C0          XOR EAX,EAX
0047ADB1   .  55            PUSH EBP
0047ADB2   .  68 24AE4700   PUSH Assistan.0047AE24
0047ADB7   .  64:FF30       PUSH DWORD PTR FS:[EAX]
0047ADBA   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
0047ADBD   .  BA 02000080   MOV EDX,80000002
0047ADC2   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0047ADC5   .  E8 6E38FBFF   CALL Assistan.0042E638
0047ADCA   .  33C9          XOR ECX,ECX
0047ADCC   .  BA 74AE4700   MOV EDX,Assistan.0047AE74                   ;SoftwareMyAssistantOption
0047ADD1   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0047ADD4   .  E8 C738FBFF   CALL Assistan.0042E6A0
0047ADD9   .  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
0047ADDC   .  E8 8BC9FFFF   CALL Assistan.0047776C
0047ADE1   .  8B45 E0       MOV EAX,DWORD PTR SS:[EBP-20]
0047ADE4   .  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
0047ADE7   .  E8 B8C8FFFF   CALL Assistan.004776A4
0047ADEC   .  8B4D E4       MOV ECX,DWORD PTR SS:[EBP-1C]
0047ADEF   .  BA 98AE4700   MOV EDX,Assistan.0047AE98                    ;RegistryCode"注册码写入注册表
0047ADF4   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0047ADF7   .  E8 403CFBFF   CALL Assistan.0042EA3C
0047ADFC   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0047ADFF   .  E8 0438FBFF   CALL Assistan.0042E608
0047AE04   .  B8 B0AE4700   MOV EAX,Assistan.0047AEB0                    ;弹出对话框注册成功
0047AE09   .  E8 52E2FAFF   CALL Assistan.00429060
0047AE0E   .  33C0          XOR EAX,EAX
0047AE10   .  5A            POP EDX
0047AE11   .  59            POP ECX
0047AE12   .  59            POP ECX
0047AE13   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
0047AE16   .  68 35AE4700   PUSH Assistan.0047AE35
0047AE1B   >  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0047AE1E   .  E8 B984F8FF   CALL Assistan.004032DC
0047AE23   .  C3            RETN
0047AE24   .^ E9 078CF8FF   JMP Assistan.00403A30
0047AE29   .^ EB F0         JMP SHORT Assistan.0047AE1B
0047AE2B   >  B8 C4AE4700   MOV EAX,Assistan.0047AEC4                    ;注册码不正确,请注册申请注册码!跳到这就失败了!
0047AE30   .  E8 2BE2FAFF   CALL Assistan.00429060
0047AE35   .  33C0          XOR EAX,EAX
==============我们进入关键CALL看看===================
004776CC  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  取出机器码
004776CF  |.  E8 18CCF8FF   CALL Assistan.004042EC                   ;  计算的机器码长度
004776D4  |.  8BD0          MOV EDX,EAX                              ;  压入机器码长度
004776D6  |.                      85D2          TEST EDX,EDX
004776D8  |.  76 1C      &