老文章档案 · 2003 年

驱动精灵(WinDriver Ghost)算法分析

破解教程 · 算法分析 · 2003-09-10 · 作者:LeNgHoSt[DFCG] 人气: · 出处:赢政天下整理收藏)

软件大小: 11?? KB

软件语言: 简体中文

软件类别: 国产软件 / 共享版 / 系统备份

应用平台: Win9x/NT/2000/XP

下载地址: http://ln-down.skycn.net/down/WinDriverGhost202.exe(个人版)

http://sdhttp.skycn.net/down/WinDriverGhost201Ent.exe(企业版)

软件介绍:

驱动精灵是一个非常实用的驱动程序备份工具,经常重装电脑的人一定

有找驱动程序的经验,要不就原版驱动程序已经不见了,就是事先没有备份

起来,找起来相当费时;现在你只要利用驱动精灵的驱动程序备份功能,在

电脑重装前,将你目前电脑中的最新版本驱动程序通通备份下载,待重装完

成时,再试用它的驱动程序还原功能安装,这样,便可以节省掉许多许动程

序安装的时间,并且在也不怕找不到驱动程序了。

-----------------------------------------------------------------

下面我们开始(以个人版为例)

程序用upx加壳,我们不必管他,在这里不需脱壳即可找到注册码!

运行trw2000,载入程序,提示要注册,否则只能使用15天(随便他怎么说)

好,填入用户名,注册码,下bpx hmemcpy,点击注册,程序被拦截(典型

的DELPHI程序),bc*,pmodule,然后按几次f12+f10经过几个ret后来到这里:

****************************************************************

:0049D229 8B45E4 mov eax, dword ptr [ebp-1C]---->用户名

:0049D22C E8737BF6FF call 00404DA4---->取用户名长度

:0049D231 0557040000 add eax, 00000457---->eax=eax+457h(1111d)

如果用户名是abc,则位数3d,eax=3d+1111d=1114d(45Ah)

:0049D236 8D55E8 lea edx, dword ptr [ebp-18]

:0049D239 E872C2F6FF call 004094B0---->上面结果放到eax(10进制),ecx(16进制)

:0049D23E 8D55E0 lea edx, dword ptr [ebp-20]

:0049D241 8B45FC mov eax, dword ptr [ebp-04]

:0049D244 8B8000030000 mov eax, dword ptr [eax+00000300]

:0049D24A E85566FAFF call 004438A4

:0049D24F 8B45E0 mov eax, dword ptr [ebp-20]

将用户名放到eax,然后与黑名单比较

这是我破解的第一个有黑名单的程序

* Possible StringData Ref from Code Obj ->"DiSTiNCT"

|

:0049D252 BA5CD64900 mov edx, 0049D65C

:0049D257 E88C7CF6FF call 00404EE8

:0049D25C 0F8432030000 je 0049D594---->用户名为DiSTiNCT不行

:0049D262 8D55DC lea edx, dword ptr [ebp-24]

:0049D265 8B45FC mov eax, dword ptr [ebp-04]

:0049D268 8B8000030000 mov eax, dword ptr [eax+00000300]

:0049D26E E83166FAFF call 004438A4

:0049D273 8B45DC mov eax, dword ptr [ebp-24]

* Possible StringData Ref from Code Obj ->"Team iNSaNE"

|

:0049D276 BA70D64900 mov edx, 0049D670

:0049D27B E8687CF6FF call 00404EE8

:0049D280 0F840E030000 je 0049D594---->为Team iNSaNE不行

:0049D286 8D55D8 lea edx, dword ptr [ebp-28]

:0049D289 8B45FC mov eax, dword ptr [ebp-04]

:0049D28C 8B8000030000 mov eax, dword ptr [eax+00000300]

:0049D292 E80D66FAFF call 004438A4

:0049D297 8B45D8 mov eax, dword ptr [ebp-28]

…………

……

…………

:0049D372 BA00D74900 mov edx, 0049D700

:0049D377 E86C7BF6FF call 00404EE8

:0049D37C 0F8412020000 je 0049D594---->同上,最后一个黑名单,下面开始sn的计算……

:0049D382 6814D74900 push 0049D714---->“M”入栈

:0049D387 8B45FC mov eax, dword ptr [ebp-04]

:0049D38A FFB02C030000 push dword ptr [eax+0000032C]---->“TW”入栈

:0049D390 6820D74900 push 0049D720---->“20”入栈

:0049D395 FF75E8 push [ebp-18]---->开头计算的结果入栈

:0049D398 682CD74900 push 0049D72C---->“-”入栈

:0049D39D 8D55B8 lea edx, dword ptr [ebp-48]

:0049D3A0 8B45FC mov eax, dword ptr [ebp-04]

:0049D3A3 8B8000030000 mov eax, dword ptr [eax+00000300]

:0049D3A9 E8F664FAFF call 004438A4

:0049D3AE 8B45B8 mov eax, dword ptr [ebp-48]---->用户名

:0049D3B1 8D55BC lea edx, dword ptr [ebp-44]

:0049D3B4 E89BFDFFFF call 0049D154---->用户名转换为16进制(如abc=616263)

:0049D3B9 FF75BC push [ebp-44]---->此结果入栈

:0049D3BC 8D45EC lea eax, dword ptr [ebp-14]

:0049D3BF BA06000000 mov edx, 00000006

:0049D3C4 E89B7AF6FF call 00404E64---->注册码计算,见下面

:0049D3C9 8D45E8 lea eax, dword ptr [ebp-18]---->开头计算的结果

:0049D3CC BA38D74900 mov edx, 0049D738

:0049D3D1 E8AE77F6FF call 00404B84

:0049D3D6 8D55B4 lea edx, dword ptr [ebp-4C]

:0049D3D9 8B45FC mov eax, dword ptr [ebp-04]

:0049D3DC 8B8004030000 mov eax, dword ptr [eax+00000304]

:0049D3E2 E8BD64FAFF call 004438A4

:0049D3E7 8B55B4 mov edx, dword ptr [ebp-4C]错sn

:0049D3EA 8B45EC mov eax, dword ptr [ebp-14]正确sn

:0049D3ED E8EE7CF6FF call 004050E0---->关键比较

:0049D3F2 85C0 test eax, eax

:0049D3F4 0F849A010000 je 0049D594---->跳了就over

:0049D3FA 8B45FC mov eax, dword ptr [ebp-04]

:0049D3FD 8B8004030000 mov eax, dword ptr [eax+00000304]

:0049D403 33D2 xor edx, edx

:0049D405 E8CA64FAFF call 004438D4

:0049D40A 8D45EC lea eax, dword ptr [ebp-14]

:0049D40D E8DA76F6FF call 00404AEC

:0049D412 6A00 push 00000000

…………

……

**********************************************************

注册码计算:

:00404E64 53 push ebx

:00404E65 56 push esi

:00404E66 57 push edi

:00404E67 52 push edx

:00404E68 50 push eax

:00404E69 89D3 mov ebx, edx

:00404E6B 31FF xor edi, edi

:00404E6D 8B4C9414 mov ecx, dword ptr [esp+4*edx+14]---->“M”

:00404E71 85C9 test ecx, ecx

:00404E73 7406 je 00404E7B

:00404E75 3908 cmp dword ptr [eax], ecx

:00404E77 7502 jne 00404E7B

:00404E79 89CF mov edi, ecx

:00404E7B 31C0 xor eax, eax

------------>>>>>循环开始(将前面入栈的所有内容依次连接起来即为注册码)

如“M”“TW”“20”“1114”“-”“616263”=“MTW201114-616263”

:00404E7D 8B4C9414 mov ecx, dword ptr [esp+4*edx+14]

:00404E81 85C9 test ecx, ecx

:00404E83 7409 je 00404E8E

:00404E85 0341FC add eax, dword ptr [ecx-04]

:00404E88 39CF cmp edi, ecx

:00404E8A 7502 jne 00404E8E

:00404E8C 31FF xor edi, edi

:00404E8E 4A dec edx

:00404E8F 75EC jne 00404E7D

<<<<<------------循环结束

:00404E91 85FF test edi, edi

:00404E93 7414 je 00404EA9---->跳走

:00404E95 89C2 mov edx, eax

:00404E97 89F8 mov eax, edi

:00404E99 8B37 mov esi, dword ptr [edi]

:00404E9B 8B76FC mov esi, dword ptr [esi-04]

:00404E9E E885020000 call 00405128

:00404EA3 57 push edi

:00404EA4 0337 add esi, dword ptr [edi]

:00404EA6 4B dec ebx

:00404EA7 EB08 jmp 00404EB1

:00404EA9 E802FDFFFF call 00404BB0

:00404EAE 50 push eax

:00404EAF 89C6 mov esi, eax

------------>>>>>循环开始(又循环一遍?)

:00404EB1 8B449C18 mov eax, dword ptr [esp+4*ebx+18]

:00404EB5 89F2 mov edx, esi

:00404EB7 85C0 test eax, eax

:00404EB9 740A je 00404EC5

:00404EBB 8B48FC mov ecx, dword ptr [eax-04]

:00404EBE 01CE add esi, ecx

:00404EC0 E88FDBFFFF call 00402A54

:00404EC5 4B dec ebx

:00404EC6 75E9 jne 00404EB1

<<<<<------------循环结束

:00404EC8 5A pop edx---->将结果放到edx

:00404EC9 58 pop eax

:00404ECA 85FF test edi, edi

:00404ECC 750C jne 00404EDA

:00404ECE 85D2 test edx, edx

:00404ED0 7403 je 00404ED5

:00404ED2 FF4AF8 dec [edx-08]

:00404ED5 E866FCFFFF call 00404B40

:00404EDA 5A pop edx

:00404EDB 5F pop edi

:00404EDC 5E pop esi

:00404EDD 5B pop ebx

:00404EDE 58 pop eax

:00404EDF 8D2494 lea esp, dword ptr [esp+4*edx]

:00404EE2 FFE0 jmp eax

:00404EE4 C3 ret

**************************************************

企业版算法同个人版类似,大家自己破解一下试试:)

算法总结:

用户名:abc

注册码(个人版):MTW201114-616263("MTW20"+"1111+用户名长度"+"-"+"用户名的ascii码")

注册码(企业版):WDW202225-616263("WDW20"+"2222+用户名长度"+"-"+"用户名的ascii码")

2003.04.09

(出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史