Ollydbg——轻松文本 2003
V6.13(VB)
下载页面: http://www.skycn.com/soft/5977.html
软件大小: 2995 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 文字处理
应用平台: Win9x/NT/2000/XP
加入时间: 2003-06-09 16:24:39
下载次数: 28988
推荐等级: ****
开 发 商: http://www.ypall.com/qswb/
【软件简介】:目前国内最好用文本编辑及阅读类软件之一,微软记事本的最佳替代品,独具非常丰富的工具,功能超强,界面友好,使用方便,绝对会给你耳目一新的感觉。主要功能:★支持对各种文本文件的打开、编辑,不受64K大小的限制,采用资源管理器界面,独创快捷键打开同一目录下所有文本文件和以选定文字为文件名快速保存文件功能,打开保存文件非常方便,支持历史文档记忆功能;★支持对文件的加解密,对网页和文本文件的双向转换,超强文本到网页转换功能可将普通文本迅速变成出色的网页,还可以压缩网页;★具有强大的编辑排版功能,支持多次撤消、重做和智能段落重排,可迅速删除文中所有空行、行首行尾空格、段内文字间空格和文中所有同类字符,迅速删除块内硬回车和替换空格为硬回车,以及文字上下标设置、英文字母大小写转换、全半角转换、文本左中右对齐方式和段落边界设置、行列互换、光标前后内容的快速选择、网址的选定链接和文本倒序翻转和定时自动存盘等功能;★具有英文拼写检查功能和强大的查找替换功能,支持对单词、句子、整行或整段文字的快速选定以及光标的快速定位,可快速高亮显示文中所有指定文本,中英文字数统计、字符出现次数统计,迅速查找文件位置或文本内容等功能;★具有自动制表功能,可迅速在文中插入当前日期时间、分隔线、连续个选定字符、特殊符号和项目符号、系统安装字体名称、输入法名称、大写金额、常用短语、其它文本文件、字符画、图形文字、图像文件、当前文件路径名、当前目录下所有文本名和当前盘内所有同类文件名;★具有英文朗读、Big5码与Gb码相互转换、文本排序、邮件发送、网页预览、多次剪贴板、ASCII码查询、音频视频文件后台循环播放、定时提醒、成语查询、日历查询、百年日历制作、批量改名、俄罗斯方块等许多非常独特的工具或功能,还可在软件中运行各种外部可执行程序;★可自动监视剪贴板,并可选择剪贴板内容粘贴到当前文件还是存成新文件,具有NetAnts那种拖放篮,可让你轻松保存文本资料;★具有像素极文字自动滚屏功能和自动翻页功能,阅读文本很轻松;★具有顶层显示功能,支持鼠标拖放打开文件、复制移动文本图形,可任意调整编辑区前背景颜色等,功能多多,是你电脑中一款不可多得的必备软件!
【软件限制】:NAG、功能限制
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:Ollydbg1.09、PEiD、AspackDie、W32Dasm 9.0白金版
—————————————————————————————————
【过 程】:
其实这个东东数10天前就做了,因为太忙,今天才把笔记整理出来,呵呵,作者也快升级了吧?
顺便看了一下同门的《英语音标大师 V1.02》,算法是一样的,就没必要写了。^O^ ^O^
easypad.exe 是ASPack 2.12壳,用AspackDie脱之。169K->732K。
VB 编写。
这个东东不算难,只是有些方面不好掌握。 ~Q~ ^Q^ ^v^
^v^
序列号:FLYN649065455613
试炼码:fly-12345678-fly[OCN][FCG]-E
—————————————————————————————————
* Reference To: MSVBVM60.rtcInputBox, Ord:0254h
:004620D2 FF15FC104000
Call dword ptr [004010FC]
:004620D8 8BD0
mov edx, eax
====>EDX=fly-12345678-fly[OCN][FCG]-E
试炼码
:004620DA 8D4DA8
lea ecx, dword ptr [ebp-58]
:004620DD FFD6
call esi
:004620DF 8BD0
mov edx, eax
:004620E1 8B8D78FEFFFF mov ecx, dword
ptr [ebp+FFFFFE78]
* Reference To: MSVBVM60.__vbaStrCopy,
Ord:0000h
|
:004620E7 FF15D4124000 Call dword
ptr [004012D4]
:004620ED 8D55A4 lea
edx, dword ptr [ebp-5C]
:004620F0 52
push edx
:004620F1 8D45A8 lea
eax, dword ptr [ebp-58]
:004620F4 50
push eax
:004620F5 8D4DAC lea
ecx, dword ptr [ebp-54]
:004620F8 51
push ecx
:004620F9 8D55B0 lea
edx, dword ptr [ebp-50]
:004620FC 52
push edx
:004620FD 8D45B4 lea
eax, dword ptr [ebp-4C]
:00462100 50
push eax
:00462101 8D4DB8 lea
ecx, dword ptr [ebp-48]
:00462104 51
push ecx
:00462105 8D55BC lea
edx, dword ptr [ebp-44]
:00462108 52
push edx
:00462109 8D45C0 lea
eax, dword ptr [ebp-40]
:0046210C 50
push eax
:0046210D 8D4DC4 lea
ecx, dword ptr [ebp-3C]
:00462110 51
push ecx
:00462111 8D55C8 lea
edx, dword ptr [ebp-38]
:00462114 52
push edx
:00462115 8D45CC lea
eax, dword ptr [ebp-34]
:00462118 50
push eax
:00462119 6A0B
push 0000000B
* Reference To: MSVBVM60.__vbaFreeStrList,
Ord:0000h
|
:0046211B FF15E4124000 Call dword
ptr [004012E4]
:00462121 8D4D9C lea
ecx, dword ptr [ebp-64]
:00462124 51
push ecx
:00462125 8D55A0 lea
edx, dword ptr [ebp-60]
:00462128 52
push edx
:00462129 6A02
push 00000002
* Reference To: MSVBVM60.__vbaFreeObjList,
Ord:0000h
|
:0046212B FF1558104000 Call dword
ptr [00401058]
:00462131 8D852CFFFFFF lea eax, dword
ptr [ebp+FFFFFF2C]
:00462137 50
push eax
:00462138 8D8D3CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF3C]
:0046213E 51
push ecx
:0046213F 8D954CFFFFFF lea edx, dword
ptr [ebp+FFFFFF4C]
:00462145 52
push edx
:00462146 8D855CFFFFFF lea eax, dword
ptr [ebp+FFFFFF5C]
:0046214C 50
push eax
:0046214D 8D8D6CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF6C]
:00462153 51
push ecx
:00462154 8D957CFFFFFF lea edx, dword
ptr [ebp+FFFFFF7C]
:0046215A 52
push edx
:0046215B 8D458C lea
eax, dword ptr [ebp-74]
:0046215E 50
push eax
:0046215F 6A07
push 00000007
* Reference To: MSVBVM60.__vbaFreeVarList,
Ord:0000h
|
:00462161 FF1544104000 Call dword
ptr [00401044]
:00462167 83C45C add
esp, 0000005C
:0046216A 8B0B
mov ecx, dword ptr [ebx]
:0046216C 8D95C8FEFFFF lea edx, dword
ptr [ebp+FFFFFEC8]
:00462172 52
push edx
:00462173 8B8578FEFFFF mov eax, dword
ptr [ebp+FFFFFE78]
:00462179 50
push eax
:0046217A 53
push ebx
:0046217B FF9128070000 call dword
ptr [ecx+00000728]
====>关键CALL!进入!
:00462181 85C0
test eax, eax
:00462183 7D12
jge 00462197
:00462185 6828070000 push
00000728
:0046218A 688C574200 push
0042578C
:0046218F 53
push ebx
:00462190 50
push eax
* Reference To: MSVBVM60.__vbaHresultCheckObj,
Ord:0000h
|
:00462191 FF15A4104000 Call dword
ptr [004010A4]
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00462183(C)
|
:00462197 6683BDC8FEFFFF00 cmp word ptr [ebp+FFFFFEC8],
0000
:0046219F 0F84C3030000 je 00462568
====>跳则OVER!
:004621A5 8D4D8C
lea ecx, dword ptr [ebp-74]
:004621A8 51
push ecx
* Reference To: MSVBVM60.rtcGetDateVar,
Ord:0262h
|
:004621A9 FF1524134000 Call dword
ptr [00401324]
:004621AF 6A00
push 00000000
:004621B1 8D558C lea
edx, dword ptr [ebp-74]
:004621B4 52
push edx
:004621B5 8D857CFFFFFF lea eax, dword
ptr [ebp+FFFFFF7C]
:004621BB 50
push eax
* Reference To: MSVBVM60.rtcGetDayOfWeek,
Ord:0228h
|
:004621BC FF1588104000 Call dword
ptr [00401088]
:004621C2 8D8D7CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF7C]
:004621C8 51
push ecx
* Reference To: MSVBVM60.rtcRandomNext,
Ord:0251h
|
:004621C9 FF15D4104000 Call dword
ptr [004010D4]
:004621CF D80D9C284000 fmul dword
ptr [0040289C]
:004621D5 DFE0
fstsw ax
:004621D7 A80D
test al, 0D
:004621D9 0F856D040000 jne 0046264C
* Reference To: MSVBVM60.__vbaFpI4,
Ord:0000h
|
:004621DF FF1560134000 Call dword
ptr [00401360]
:004621E5 89437C mov
dword ptr [ebx+7C], eax
:004621E8 8D957CFFFFFF lea edx, dword
ptr [ebp+FFFFFF7C]
:004621EE 52
push edx
:004621EF 8D458C lea
eax, dword ptr [ebp-74]
:004621F2 50
push eax
:004621F3 6A02
push 00000002
* Reference To: MSVBVM60.__vbaFreeVarList,
Ord:0000h
|
:004621F5 FF1544104000 Call dword
ptr [00401044]
:004621FB 83C40C add
esp, 0000000C
:004621FE B904000280 mov ecx,
80020004
:00462203 898D34FFFFFF mov dword
ptr [ebp+FFFFFF34], ecx
:00462209 B80A000000 mov eax,
0000000A
:0046220E 89852CFFFFFF mov dword
ptr [ebp+FFFFFF2C], eax
:00462214 898D44FFFFFF mov dword
ptr [ebp+FFFFFF44], ecx
:0046221A 89853CFFFFFF mov dword
ptr [ebp+FFFFFF3C], eax
:00462220 898D54FFFFFF mov dword
ptr [ebp+FFFFFF54], ecx
:00462226 89854CFFFFFF mov dword
ptr [ebp+FFFFFF4C], eax
:0046222C 898D64FFFFFF mov dword
ptr [ebp+FFFFFF64], ecx
:00462232 89855CFFFFFF mov dword
ptr [ebp+FFFFFF5C], eax
:00462238 C78514FFFFFFD0654200 mov dword ptr [ebp+FFFFFF14],
004265D0
:00462242 C7850CFFFFFF08000000 mov dword ptr [ebp+FFFFFF0C],
00000008
:0046224C 8D950CFFFFFF lea edx, dword
ptr [ebp+FFFFFF0C]
:00462252 8D8D6CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF6C]
* Reference To: MSVBVM60.__vbaVarDup,
Ord:0000h
|
:00462258 FF1538134000 Call dword
ptr [00401338]
* Possible StringData Ref from
Code Obj ->"搹eQnxx"
|
:0046225E C78524FFFFFF009A4200 mov dword ptr [ebp+FFFFFF24],
00429A00
:00462268 C7851CFFFFFF08000000 mov dword ptr [ebp+FFFFFF1C],
00000008
:00462272 8D951CFFFFFF lea edx, dword
ptr [ebp+FFFFFF1C]
:00462278 8D8D7CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF7C]
* Reference To: MSVBVM60.__vbaVarDup,
Ord:0000h
|
:0046227E FF1538134000 Call dword
ptr [00401338]
* Possible StringData Ref from
Code Obj ->"a"尐`剉/ecm`淯╜剉b烺(W孾b鑜孮MR鲖峇"
->"搹eQ"
|
:00462284 6894994200 push
00429994
:00462289 8B4B7C mov
ecx, dword ptr [ebx+7C]
:0046228C 51
push ecx
* Reference To: MSVBVM60.__vbaStrI4,
Ord:0000h
|
:0046228D FF1520104000 Call dword
ptr [00401020]
:00462293 8BD0
mov edx, eax
:00462295 8D4DCC lea
ecx, dword ptr [ebp-34]
:00462298 FFD6
call esi
:0046229A 50
push eax
:0046229B FFD7
call edi
:0046229D 894594 mov
dword ptr [ebp-6C], eax
:004622A0 C7458C08000000 mov [ebp-74], 00000008
:004622A7 8D952CFFFFFF lea edx, dword
ptr [ebp+FFFFFF2C]
:004622AD 52
push edx
:004622AE 8D853CFFFFFF lea eax, dword
ptr [ebp+FFFFFF3C]
:004622B4 50
push eax
:004622B5 8D8D4CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF4C]
:004622BB 51
push ecx
:004622BC 8D955CFFFFFF lea edx, dword
ptr [ebp+FFFFFF5C]
:004622C2 52
push edx
:004622C3 8D856CFFFFFF lea eax, dword
ptr [ebp+FFFFFF6C]
:004622C9 50
push eax
:004622CA 8D8D7CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF7C]
:004622D0 51
push ecx
:004622D1 8D558C lea
edx, dword ptr [ebp-74]
:004622D4 52
push edx
* Reference To: MSVBVM60.rtcInputBox,
Ord:0254h
|
:004622D5 FF15FC104000 Call dword
ptr [004010FC]
====>恭喜完成!输入确认号码!7055
:004622DB 8BD0
mov edx, eax
====>EDX=7055
:004622DD 8D4DC8
lea ecx, dword ptr [ebp-38]
:004622E0 FFD6
call esi
:004622E2 50
push eax
* Reference To: MSVBVM60.__vbaR8Str,
Ord:0000h
|
:004622E3 FF15C0124000 Call dword
ptr [004012C0]
:004622E9 DB437C fild
dword ptr [ebx+7C]
:004622EC DD9D70FEFFFF fstp qword
ptr [ebp+FFFFFE70]
:004622F2 DC9D70FEFFFF fcomp qword
ptr [ebp+FFFFFE70]
====>比较 确认号码 是否是7055?
:004622F8 DFE0
fstsw ax
:004622FA F6C440 test
ah, 40
:004622FD 7407
je 00462306
:004622FF B801000000 mov eax,
00000001
:00462304 EB02
jmp 00462308
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004622FD(C)
|
:00462306 33C0
xor eax, eax
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00462304(U)
|
:00462308 F7D8
neg eax
:0046230A 668BF0 mov
si, ax
:0046230D 8D45C8 lea
eax, dword ptr [ebp-38]
:00462310 50
push eax
:00462311 8D4DCC lea
ecx, dword ptr [ebp-34]
:00462314 51
push ecx
:00462315 6A02
push 00000002
* Reference To: MSVBVM60.__vbaFreeStrList,
Ord:0000h
|
:00462317 FF15E4124000 Call dword
ptr [004012E4]
:0046231D 8D952CFFFFFF lea edx, dword
ptr [ebp+FFFFFF2C]
:00462323 52
push edx
:00462324 8D853CFFFFFF lea eax, dword
ptr [ebp+FFFFFF3C]
:0046232A 50
push eax
:0046232B 8D8D4CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF4C]
:00462331 51
push ecx
:00462332 8D955CFFFFFF lea edx, dword
ptr [ebp+FFFFFF5C]
:00462338 52
push edx
:00462339 8D856CFFFFFF lea eax, dword
ptr [ebp+FFFFFF6C]
:0046233F 50
push eax
:00462340 8D8D7CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF7C]
:00462346 51
push ecx
:00462347 8D558C lea
edx, dword ptr [ebp-74]
:0046234A 52
push edx
:0046234B 6A07
push 00000007
* Reference To: MSVBVM60.__vbaFreeVarList,
Ord:0000h
|
:0046234D FF1544104000 Call dword
ptr [00401044]
:00462353 83C42C add
esp, 0000002C
:00462356 6685F6 test
si, si
:00462359 0F8409020000 je 00462568
:0046235F 8B8578FEFFFF mov eax, dword
ptr [ebp+FFFFFE78]
:00462365 8B08
mov ecx, dword ptr [eax]
:00462367 51
push ecx
* Possible StringData Ref from
Code Obj ->"rregnumber"
|
:00462368 6870684200 push
00426870
* Possible StringData Ref from
Code Obj ->"rregist"
|
:0046236D 685C684200 push
0042685C
* Possible StringData Ref from
Code Obj ->"eeasypad"
|
:00462372 68E8634200 push
004263E8
* Reference To: MSVBVM60.rtcSaveSetting,
Ord:02B2h
|
:00462377 FF150C104000 Call dword
ptr [0040100C]
====>保存注册信息!
:0046237D E9E6010000 jmp 00462568
—————————————————————————————————
进入关键CALL:0046217B call dword ptr [ecx+00000728]
…… ……省略…… ……
:004724A8 FFD3
call ebx
:004724AA 50
push eax
* Possible StringData Ref from
Code Obj ->"CC:\"
|
:004724AB 68A4974200 push
004297A4
:004724B0 8D45CC lea
eax, dword ptr [ebp-34]
:004724B3 50
push eax
:004724B4 FFD3
call ebx
:004724B6 50
push eax
:004724B7 E8EC30FBFF call
004255A8
* Reference To: MSVBVM60.__vbaSetSystemError,
Ord:0000h
|
:004724BC FF1598104000 Call dword
ptr [00401098]
:004724C2 8B4DC8 mov
ecx, dword ptr [ebp-38]
* Reference To: MSVBVM60.__vbaStrToUnicode,
Ord:0000h
|
:004724C5 8B1D38124000 mov ebx, dword
ptr [00401238]
:004724CB 51
push ecx
:004724CC 8D55C4 lea
edx, dword ptr [ebp-3C]
:004724CF 52
push edx
:004724D0 FFD3
call ebx
:004724D2 50
push eax
:004724D3 8B45DC mov
eax, dword ptr [ebp-24]
:004724D6 50
push eax
:004724D7 57
push edi
* Reference To: MSVBVM60.__vbaLsetFixstr,
Ord:0000h
|
:004724D8 FF1594104000 Call dword
ptr [00401094]
:004724DE 8B4DC0 mov
ecx, dword ptr [ebp-40]
:004724E1 51
push ecx
:004724E2 8D55BC lea
edx, dword ptr [ebp-44]
:004724E5 52
push edx
:004724E6 FFD3
call ebx
:004724E8 50
push eax
:004724E9 8B45D8 mov
eax, dword ptr [ebp-28]
:004724EC 50
push eax
:004724ED 57
push edi
* Reference To: MSVBVM60.__vbaLsetFixstr,
Ord:0000h
|
:004724EE FF1594104000 Call dword
ptr [00401094]
:004724F4 8D4DBC lea
ecx, dword ptr [ebp-44]
:004724F7 51
push ecx
:004724F8 8D55C0 lea
edx, dword ptr [ebp-40]
:004724FB 52
push edx
:004724FC 8D45C4 lea
eax, dword ptr [ebp-3C]
:004724FF 50
push eax
:00472500 8D4DC8 lea
ecx, dword ptr [ebp-38]
:00472503 51
push ecx
:00472504 8D55CC lea
edx, dword ptr [ebp-34]
:00472507 52
push edx
:00472508 6A05
push 00000005
* Reference To: MSVBVM60.__vbaFreeStrList,
Ord:0000h
|
:0047250A FF15E4124000 Call dword
ptr [004012E4]
:00472510 8B5D0C mov
ebx, dword ptr [ebp+0C]
:00472513 8B03
mov eax, dword ptr [ebx]
====>EAX=fly-12345678-fly[OCN][FCG]-E
试炼码
:00472515 83C418
add esp, 00000018
:00472518 6A01
push 00000001
:0047251A 6AFF
push FFFFFFFF
:0047251C 6A01
push 00000001
:0047251E 68D0654200 push
004265D0
:00472523 68CC754200 push
004275CC
:00472528 50
push eax
* Reference To: MSVBVM60.rtcReplace, Ord:02C8h
|
:00472529 FF152C124000 Call dword
ptr [0040122C]
====>去除试炼码中的-
:0047252F 8BD0
mov edx, eax
====>EDX=fly12345678fly[OCN][FCG]E
:00472531 8D4DD4 lea ecx, dword ptr [ebp-2C]
* Reference To: MSVBVM60.__vbaStrMove,
Ord:0000h
|
:00472534 FF1578134000 Call dword
ptr [00401378]
:0047253A 8B0B
mov ecx, dword ptr [ebx]
* Reference To: MSVBVM60.__vbaLenBstr,
Ord:0000h
|
:0047253C 8B1D34104000 mov ebx, dword
ptr [00401034]
:00472542 51
push ecx
====>ECX=fly-12345678-fly[OCN][FCG]-E
:00472543 FFD3
call ebx
====>取fly-12345678-fly[OCN][FCG]-E的长度
:00472545 8BD0
mov edx, eax
====>EDX=1C
:00472547 8B45D4
mov eax, dword ptr [ebp-2C]
:0047254A 50
push eax
====>EAX=fly12345678fly[OCN][FCG]E
:0047254B 899528FFFFFF
mov dword ptr [ebp+FFFFFF28], edx
====>[ebp+FFFFFF28]=EDX=1C
:00472551 FFD3
call ebx
====>取fly12345678fly[OCN][FCG]E的长度=19
:00472553 8B8D28FFFFFF
mov ecx, dword ptr [ebp+FFFFFF28]
====>ECX=1C
:00472559 8B55D4
mov edx, dword ptr [ebp-2C]
:0047255C 33DB
xor ebx, ebx
:0047255E 3BC1
cmp eax, ecx
====>比较2者长度是否相同?既检测试炼码中是否有-
:00472560 52
push edx
:00472561 0F9DC3 setnl
bl
====>设置BL值!有-则长度不同则BL=0
* Reference To: MSVBVM60.__vbaLenBstr,
Ord:0000h
|
:00472564 FF1534104000 Call dword
ptr [00401034]
====>取fly12345678fly[OCN][FCG]E的长度=19
:0047256A 33C9
xor ecx, ecx
:0047256C 83F819 cmp
eax, 00000019
====>去除试炼码中的-后是否是25位?
:0047256F 0F9CC1
setl cl
====>设置CL值!是25位则CL=0
:00472572 0BD9
or ebx, ecx
:00472574 0F850C010000 jne 00472686
====>如果上面2个条件都符合则此处不跳!
====>若此处跳就直接OVER了!爆破点①!
:0047257A 8B55D4
mov edx, dword ptr [ebp-2C]
====>EDX=fly12345678fly[OCN][FCG]E
:0047257D A110804A00
mov eax, dword ptr [004A8010]
====>EAX=211C1E09
C盘的硬盘序列号
:00472582 8D4DA4
lea ecx, dword ptr [ebp-5C]
:00472585 89955CFFFFFF mov dword
ptr [ebp+FFFFFF5C], edx
:0047258B 2DCF337B00 sub eax,
007B33CF
====>EAX=211C1E09 - 007B33CF=20A0EA3A
:00472590 51
push ecx
:00472591 8D5594 lea
edx, dword ptr [ebp-6C]
:00472594 0F8020050000 jo 00472ABA
:0047259A 52
push edx
:0047259B C78554FFFFFF08000000 mov dword ptr [ebp+FFFFFF54],
00000008
:004725A5 8945AC mov
dword ptr [ebp-54], eax
:004725A8 C745A403000000 mov [ebp-5C], 00000003
* Reference To: MSVBVM60.rtcHexVarFromVar,
Ord:023Dh
|
:004725AF FF15D8124000 Call dword
ptr [004012D8]
:004725B5 6A01
push 00000001
:004725B7 8D8554FFFFFF lea eax, dword
ptr [ebp+FFFFFF54]
:004725BD 50
push eax
:004725BE 8D4D94 lea
ecx, dword ptr [ebp-6C]
:004725C1 51
push ecx
:004725C2 6A01
push 00000001
:004725C4 8D5584 lea
edx, dword ptr [ebp-7C]
:004725C7 52
push edx
:004725C8 89BD4CFFFFFF mov dword
ptr [ebp+FFFFFF4C], edi
:004725CE C78544FFFFFF02800000 mov dword ptr [ebp+FFFFFF44],
00008002
* Reference To: MSVBVM60.__vbaInStrVar,
Ord:0000h
|
:004725D8 FF1570124000 Call dword
ptr [00401270]
====>比较CALL!进入!有点特别呀 ^O^ ^O^
:004725DE 50
push eax
:004725DF 8D8544FFFFFF lea eax, dword
ptr [ebp+FFFFFF44]
:004725E5 50
push eax
* Reference To: MSVBVM60.__vbaVarTstGt,
Ord:0000h
|
:004725E6 FF1504104000 Call dword
ptr [00401004]
:004725EC 8D4D84 lea
ecx, dword ptr [ebp-7C]
:004725EF 51
push ecx
:004725F0 8D5594 lea
edx, dword ptr [ebp-6C]
:004725F3 668BD8 mov
bx, ax
====>爆破点②! ^O^ ^O^
:004725F6 52
push edx
:004725F7 8D45A4 lea
eax, dword ptr [ebp-5C]
:004725FA 50
push eax
:004725FB 6A03
push 00000003
* Reference To: MSVBVM60.__vbaFreeVarList,
Ord:0000h
|
:004725FD FF1544104000 Call dword
ptr [00401044]
:00472603 83C410 add
esp, 00000010
:00472606 663BDF cmp
bx, di
:00472609 0F84E3000000 je 004726F2
====>跳则OVER!
:0047260F 8B0E
mov ecx, dword ptr [esi]
:00472611 56
push esi
:00472612 C745D0FFFFFFFF mov [ebp-30], FFFFFFFF
:00472619 FF912C060000 call dword
ptr [ecx+0000062C]
:0047261F 50
push eax
:00472620 8D55B8 lea
edx, dword ptr [ebp-48]
:00472623 52
push edx
* Reference To: MSVBVM60.__vbaObjSet,
Ord:0000h
|
:00472624 FF15F4104000 Call dword
ptr [004010F4]
:0047262A 8D4DB4 lea
ecx, dword ptr [ebp-4C]
:0047262D 51
push ecx
:0047262E 8BF0
mov esi, eax
:00472630 8B06
mov eax, dword ptr [esi]
:00472632 6A03
push 00000003
:00472634 56
push esi
:00472635 FF5040 call
[eax+40]
:00472638 DBE2
fclex
:0047263A 3BC7
cmp eax, edi
:0047263C 7D0F
jge 0047264D
:0047263E 6A40
push 00000040
:00472640 68BC654200 push
004265BC
:00472645 56
push esi
:00472646 50
push eax
—————————————————————————————————
进入比较CALL:004725D8 Call dword ptr [00401270]
再进入:7347A9CC Call MSVBVM60.__vbaInStr
733A45A5 > 55
push ebp
733A45A6 8BEC
mov ebp,esp
733A45A8 81EC BC000000 sub esp,0BC
733A45AE 8365 EC 00 and
dword ptr ss:[ebp-14],0
733A45B2 53
push ebx
733A45B3 56
push esi
733A45B4 8B75 0C
mov esi,dword ptr ss:[ebp+C]
====>ESI=20A0EA3A
733A45B7 57
push edi
733A45B8 8B7D 10
mov edi,dword ptr ss:[ebp+10]
====>EDI=fly12345678fly[OCN][FCG]E
733A45BB 8D85 44FFFFFF
lea eax,dword ptr ss:[ebp-BC]
733A45C1 897D F8
mov dword ptr ss:[ebp-8],edi
733A45C4 85FF
test edi,edi
733A45C6 8945 F4
mov dword ptr ss:[ebp-C],eax
733A45C9 8975 FC
mov dword ptr ss:[ebp-4],esi
733A45CC 0F84 09350300 je MSVBVM60.733D7ADB
733A45D2 8B47 FC
mov eax,dword ptr ds:[edi-4]
733A45D5 D1E8
shr eax,1
====>取fly12345678fly[OCN][FCG]E长度
733A45D7 8945 E4
mov dword ptr ss:[ebp-1C],eax
====>EAX=19
733A45DA 0F84 FB340300
je MSVBVM60.733D7ADB
733A45E0 85F6
test esi,esi
733A45E2 0F84 EB340300 je MSVBVM60.733D7AD3
733A45E8 8B46 FC
mov eax,dword ptr ds:[esi-4]
733A45EB D1E8
shr eax,1
====>取20A0EA3A的长度
733A45ED 8945 E4
mov dword ptr ss:[ebp-1C],eax
====>EAX=8
733A45F0 0F84 DD340300
je MSVBVM60.733D7AD3
733A45F6 8B45 14
mov eax,dword ptr ss:[ebp+14]
733A45F9 8D58 FF
lea ebx,dword ptr ds:[eax-1]
733A45FC 85DB
test ebx,ebx
733A45FE 0F8C 33330300 jl MSVBVM60.733D7937
733A4604 81FB FFFFFF3F cmp ebx,3FFFFFFF
733A460A 0F87 27330300 ja MSVBVM60.733D7937
733A4610 8B45 08
mov eax,dword ptr ss:[ebp+8]
733A4613 895D E8
mov dword ptr ss:[ebp-18],ebx
733A4616 85C0
test eax,eax
733A4618 0F85 20330300 jnz MSVBVM60.733D793E
====>跳下去,转变大写字母为小写字母!
733A461E 8B45 F8
mov eax,dword ptr ss:[ebp-8]
====>转变完了再跳回来!
733A4621 85C0
test eax,eax
====>EAX=fly12345678fly[ocn][fcg]e
733A4623 0F84 06340300
je MSVBVM60.733D7A2F
733A4629 8B48 FC
mov ecx,dword ptr ds:[eax-4]
733A462C D1E9
shr ecx,1
733A462E 85F6
test esi,esi
733A4630 0F84 00340300 je MSVBVM60.733D7A36
733A4636 8B56 FC
mov edx,dword ptr ds:[esi-4]
733A4639 D1EA
shr edx,1
733A463B 8B7D E8
mov edi,dword ptr ss:[ebp-18]
733A463E 3BF9
cmp edi,ecx
733A4640 73 74
jnb short MSVBVM60.733A46B6
733A4642 85D2
test edx,edx
733A4644 0F84 F3330300 je MSVBVM60.733D7A3D
733A464A 3BD1
cmp edx,ecx
733A464C 0F87 F6330300 ja MSVBVM60.733D7A48
733A4652 8D0478
lea eax,dword ptr ds:[eax+edi*2]
733A4655 8B7D F8
mov edi,dword ptr ss:[ebp-8]
733A4658 2BCA
sub ecx,edx
733A465A 8D5C4F 02
lea ebx,dword ptr ds:[edi+ecx*2+2]
733A465E 0FB70E
movzx ecx,word ptr ds:[esi]
733A4661 894D 14
mov dword ptr ss:[ebp+14],ecx
733A4664 8D4C12 FE
lea ecx,dword ptr ds:[edx+edx-2]
733A4668 3BC3
cmp eax,ebx
733A466A 894D E4
mov dword ptr ss:[ebp-1C],ecx
733A466D 73 47
jnb short MSVBVM60.733A46B6
733A466F 8BCB
mov ecx,ebx
733A4671 2BC8
sub ecx,eax
733A4673 D1F9
sar ecx,1
733A4675 51
push ecx
733A4676 FF75 14
push dword ptr ss:[ebp+14]
733A4679 50
push eax
733A467A E8 46000000 call
MSVBVM60.733A46C5
====>循环取试炼码,比较第“1”位是否是2?
733A467F 85C0
test eax,eax
733A4681 74 33
je short MSVBVM60.733A46B6
733A4683 8B4D E4
mov ecx,dword ptr ss:[ebp-1C]
733A4686 40
inc eax
733A4687 40
inc eax
733A4688 8D7E 02
lea edi,dword ptr ds:[esi+2]
733A468B 8BF0
mov esi,eax
733A468D 33D2
xor edx,edx
733A468F F3:A6
repe cmps byte ptr es:[edi],byte ptr ds:[esi]
====>依次比较剩下的7位是否是0a0ea3a
733A4691 75 1A
jnz short MSVBVM60.733A46AD
733A4693 8BC8
mov ecx,eax
733A4695 2B4D F8
sub ecx,dword ptr ss:[ebp-8]
733A4698 D1F9
sar ecx,1
733A469A 837D 08 00 cmp
dword ptr ss:[ebp+8],0
733A469E 0F85 AD330300 jnz MSVBVM60.733D7A51
733A46A4 8BC1
mov eax,ecx
733A46A6 5F
pop edi
733A46A7 5E
pop esi
733A46A8 5B
pop ebx
733A46A9 C9
leave
733A46AA C2 1000
retn 10
733A46AD 3BC3
cmp eax,ebx
733A46AF 73 05
jnb short MSVBVM60.733A46B6
733A46B1 8B75 FC
mov esi,dword ptr ss:[ebp-4]
733A46B4 ^ EB B9
jmp short MSVBVM60.733A466F
====>循环比较!
====>其实就是循环比较试炼码中是否有8位是20a0ea3a
—————————————————
由733A4618跳到这里:
733D793E 83F8 01
cmp eax,1
733D7941 75 3D
jnz short MSVBVM60.733D7980
733D7943 E8 818DFCFF call
MSVBVM60.733A06C9
733D7948 8945 08
mov dword ptr ss:[ebp+8],eax
733D794B 8B45 08
mov eax,dword ptr ss:[ebp+8]
733D794E 3B05 2C1E4A73 cmp eax,dword
ptr ds:[734A1E2C]
733D7954 74 06
je short MSVBVM60.733D795C
733D7956 50
push eax
733D7957 E8 D83B0A00 call
MSVBVM60.7347B534
733D795C 8B45 F4
mov eax,dword ptr ss:[ebp-C]
733D795F 33F6
xor esi,esi
733D7961 56
push esi
733D7962 56
push esi
733D7963 56
push esi
733D7964 C700 FEFFFFFF mov dword
ptr ds:[eax],-2
733D796A FF75 0C
push dword ptr ss:[ebp+C]
733D796D E8 CA3D0A00 call
MSVBVM60.7347B73C
====>将20A0EA3A中的大写字母转为小写字母!
733D7972 3BC6
cmp eax,esi
====>EAX=20a0ea3a
733D7974 8945 FC
mov dword ptr ss:[ebp-4],eax
733D7977 75 1D
jnz short MSVBVM60.733D7996
733D7979 6A 07
push 7
733D797B E8 D9D9FDFF call
MSVBVM60.733B5359
733D7980 83F8 02
cmp eax,2
733D7983 74 0A
je short MSVBVM60.733D798F
733D7985 50
push eax
733D7986 E8 69830900 call
MSVBVM60.7346FCF4
733D798B 85C0
test eax,eax
733D798D ^ 75 BC
jnz short MSVBVM60.733D794B
733D798F 6A 05
push 5
733D7991 E8 C3D9FDFF call
MSVBVM60.733B5359
733D7996 56
push esi
733D7997 8D45 F4
lea eax,dword ptr ss:[ebp-C]
733D799A 56
push esi
733D799B 50
push eax
733D799C 57
push edi
====>EDI=fly12345678fly[OCN][FCG]E
733D799D E8 9A3D0A00
call MSVBVM60.7347B73C
====>将fly12345678fly[OCN][FCG]E中的大写字母转为小写字母!
733D79A2 8BF0
mov esi,eax
====>ESI=fly12345678fly[ocn][fcg]e
…… ……省 略…… ……
733D7A1F E9 FACBFCFF
jmp MSVBVM60.733A461E
====>转变完了再跳上去!
—————————————————————————————————
注册源码的生成:
:00461E75 FF15E4124000 Call dword
ptr [004012E4]
:00461E7B 83C418 add
esp, 00000018
:00461E7E 8B0D10804A00 mov ecx, dword
ptr [004A8010]
====>ECX=211C1E09
C盘的硬盘序列号
:00461E84 81E957300E00
sub ecx, 000E3057
====>ECX=211C1E09 - 000E3057=210DEDB2
:00461E8A 0F80C1070000
jo 00462651
:00461E90 51
push ecx
* Reference To: MSVBVM60.__vbaStrI4,
Ord:0000h
|
:00461E91 FF1520104000 Call dword
ptr [00401020]
====>取210DEDB2的10进制值
:00461E97 8BD0
mov edx, eax
====>EDX=554560946
:00461E99 8D4DC4
lea ecx, dword ptr [ebp-3C]
:00461E9C FFD6
call esi
:00461E9E 50
push eax
* Reference To: MSVBVM60.rtcStrReverse,
Ord:02C9h
|
:00461E9F FF153C124000 Call dword
ptr [0040123C]
====>把554560946倒序排列
:00461EA5 8BD0
mov edx, eax
====>EDX=649065455
…… ……省 略…… ……
:00461FCC 8B4344
mov eax, dword ptr [ebx+44]
====>EAX=FLY
计算机用户名
:00461FCF 50
push eax
:00461FD0 683C994200 push
0042993C
====>0042993C=N
这个应该是作者预设的固定值
* Reference To: MSVBVM60.__vbaStrCat,
Ord:0000h
|
:00461FD5 8B3D80104000 mov edi, dword
ptr [00401080]
:00461FDB FFD7
call edi
====>连接FLY和N
:00461FDD 8BD0
mov edx, eax
====>EDX=FLYN
:00461FDF 8D4DC0
lea ecx, dword ptr [ebp-40]
:00461FE2 FFD6
call esi
:00461FE4 50
push eax
:00461FE5 8B957CFEFFFF mov edx, dword
ptr [ebp+FFFFFE7C]
====>EDX=649065455
:00461FEB 8D4DBC
lea ecx, dword ptr [ebp-44]
:00461FEE FFD6
call esi
:00461FF0 50
push eax
:00461FF1 FFD7
call edi
====>连接FLYN和649065455
:00461FF3 8BD0
mov edx, eax
====>EDX=FLYN649065455 这就是程序显示的注册源码!
—————————————————————————————————
【算 法 总 结】:
1、注册码要有-
2、去除-后还需要25位数字或字母
3、取C盘序列号211C1E09 - 007B33CF=20A0EA3A
4、25位字符中要有8位是20A0EA3A 其他任意
不清楚程序是否还有其他暗桩,有朋友发现的话,麻烦指出来!
—————————————————————————————————
【完 美 爆 破】:
1、00472574 0F850C010000 jne 00472686
改为:909090909090 NOP掉!
2、004725F3 668BD8
mov bx, ax
改为:B301
mov bl, 01
—————————————————————————————————
【注册信息保存】:
REGEDIT4
[HKEY_CURRENT_USER\Software\VB
and VBA Program Settings\easypad\regist]
"regnumber"="fly-20A0EA3A-fly[OCN][FCG]-E"
—————————————————————————————————
【整 理】:
序列号:FLYN649065455613
注册码:fly-20A0EA3A-fly[OCN][FCG]-E
—————————————————————————————————
, _/
/| _.-~/ \_
, 青春都一饷
( /~ /
\~-._ |\
`\\ _/
\ ~\ ) 忍把浮名
_-~~~-.) )__/;;,. \_
//'
/'_,\ --~ \ ~~~- ,;;\___( (.-~~~-.
换了破解轻狂
`~ _( ,_..--\ ( ,;'' / ~-- /._`\
/~~//' /' `~\ ) /--.._, )_ `~
" `~" " `"
/~'`\ `\\~~\
" " "~' ""
Cracked By 巢水工作坊——fly [OCN][FCG]
2003-06-28 22:35