简单分析——极光多能闹钟 3.2
下载页面: http://www.skycn.com/soft/10136.html
软件大小:
1980 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 开关定时
应用平台: Win9x/NT/2000/XP
加入时间:
2003-03-19 09:00:44
下载次数: 13146
推荐等级: ***
开 发 商: http://jgsoft.wx-e.com/
【软件简介】:支持电脑自带喇叭响铃和电脑音乐,并可自谱喇叭音乐,享受DIY的乐趣。可以按具体日期、每日、每周、每月、农历生日等不同方式提醒,灵活的提醒方式几乎可满足您所有的提醒需要。漂亮的石英钟界面和直观的液晶数字界面随时切换。使用中您会发现这是一款为您定制的程序,面板上几乎所有的东西都可依您所好来改变,石英钟大小可多级缩放,时钟的粗细,颜色都可改变,并支持自选图片。软件提供重要日期提醒、每小时固定响铃和使用方便的临时闹钟,支持正点报时和间隔报时,定时关机,定时执行指定程序,内置极光拖存工具,方便保存网上文摘。同时还附有一个原子钟对时工具和万年历。软件有非常方便的在线升级功能,升级前自动预读最新版本的更新内容,只下载需要更新的文件。未注册用户在两个月的试用期内没有任何功能的限制,也不会弹出窗口来干扰您。
【软件限制】:试用两个月
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、WKT_tElock_Dumper 1.2、W32Dasm 9.0白金版
—————————————————————————————————
【过 程】:
首先必须说明的是我现在分析的是从《软件王》光盘里找的
V3.2 的旧版本, 而“天空”上面的现在是 V4.4 的新版本,可能有些地方是不一样的。现在软件升级的速度都挺快,比我的破解水平提升的快多了。 ^_^
呵呵,又碰上这个VB的东东,实在是不大乐意跟踪VB程序的算法,但是也不能见VB就“逃”呀,^O^^O^ 静下心来我跟踪了好几遍,哎,现在是两眼都冒着VB的“金花”呀,更惨的是只找到了算法的地方而没有能力完整的总结出来,惭愧!这个东东太麻烦了,很多迷惑视线的“冗余代码”、假比较,教我如何不难过呀!
JgClockXP.exe 是tElock 0.98壳,用WKT_tElock_Dumper 1.2 脱之。196K->676K。
机器码:5554908250
试炼码:1357246890
需要10位注册码!
—————————————————————————————————
* Referenced by
a (U)nconditional or (C)onditional Jump at Address:
|:0048B333(C)
|
:0048B3ED
8B45BC mov eax,
dword ptr [ebp-44]
====>EAX=1357246890
:0048B3F0 50 push eax
* Reference To:
MSVBVM60.__vbaLenBstr, Ord:0000h
|
:0048B3F1
FF1538104000 Call dword ptr [00401038]
====>取试炼码长度 EAX=A
:0048B3F7
BE0A000000 mov esi, 0000000A
====>ESI=A
:0048B3FC
3BC6 cmp
eax, esi
====>是否是10位注册码?注册码需要10位!
:0048B3FE
0F8460010000 je 0048B564
====>不跳则OVER!
:0048B404
B804000280 mov eax, 80020004
:0048B409
898558FFFFFF mov dword ptr [ebp+FFFFFF58],
eax
:0048B40F 89B550FFFFFF mov dword
ptr [ebp+FFFFFF50], esi
:0048B415 898568FFFFFF
mov dword ptr [ebp+FFFFFF68], eax
:0048B41B 89B560FFFFFF
mov dword ptr [ebp+FFFFFF60], esi
*
Possible StringData Ref from Data Obj ->"衏:y"
|
:0048B421 C78548FFFFFFE81B4100 mov dword ptr [ebp+FFFFFF48],
00411BE8
:0048B42B C78540FFFFFF08000000 mov dword ptr [ebp+FFFFFF40],
00000008
:0048B435 8D9540FFFFFF lea
edx, dword ptr [ebp+FFFFFF40]
:0048B43B 8D8D70FFFFFF
lea ecx, dword ptr [ebp+FFFFFF70]
*
Reference To: MSVBVM60.__vbaVarDup, Ord:0000h
|
:0048B441 FF156C124000 Call
dword ptr [0040126C]
*
Possible StringData Ref from Data Obj ->"鲖蛻癳/T≧,gz廭寶翄鑜孮酧o`"
|
:0048B447 68F41B4100
push 00411BF4
*
Possible StringData Ref from Data Obj ->"
"
|
:0048B44C 684CF64000
push 0040F64C
*
Reference To: MSVBVM60.__vbaStrCat, Ord:0000h
|
:0048B451 8B3574104000 mov
esi, dword ptr [00401074]
:0048B457 FFD6
call esi
:0048B459 8BD0
mov edx, eax
:0048B45B 8D4DAC
lea ecx, dword ptr
[ebp-54]
:0048B45E FFD7
call edi
:0048B460 50
push eax
*
Possible StringData Ref from Data Obj ->"
"
|
:0048B461 684CF64000
push 0040F64C
:0048B466 FFD6
call esi
:0048B468 8BD0
mov edx, eax
:0048B46A 8D4DA8
lea ecx, dword ptr
[ebp-58]
:0048B46D FFD7
call edi
:0048B46F 50
push eax
*
Possible StringData Ref from Data Obj ->"鍌
z廭-Ng 鑜孮 P[軆USR鑜孮b烺"
|
:0048B470 68181C4100
push 00411C18
:0048B475 FFD6
call esi
:0048B477 894588
mov dword ptr [ebp-78],
eax
:0048B47A C7458008000000 mov [ebp-80],
00000008
:0048B481 8D8D50FFFFFF lea
ecx, dword ptr [ebp+FFFFFF50]
:0048B487 51
push ecx
:0048B488 8D9560FFFFFF
lea edx, dword ptr [ebp+FFFFFF60]
:0048B48E
52 push
edx
:0048B48F 8D8570FFFFFF lea eax,
dword ptr [ebp+FFFFFF70]
:0048B495 50
push eax
:0048B496 6A40
push 00000040
:0048B498 8D4D80
lea ecx, dword ptr
[ebp-80]
:0048B49B 51
push ecx
*
Reference To: MSVBVM60.rtcMsgBox, Ord:0253h
|
:0048B49C
FF15CC104000 Call dword ptr [004010CC]
====>提示重启程序验证注册码!到这就OVER了!
:0048B4A2 8BC8 mov ecx, eax
* Reference
To: MSVBVM60.__vbaI2I4, Ord:0000h
|
:0048B4A4
FF1550114000 Call dword ptr [00401150]
:0048B4AA
8D55A8 lea edx,
dword ptr [ebp-58]
:0048B4AD 52
push edx
:0048B4AE 8D45AC
lea eax, dword ptr [ebp-54]
:0048B4B1 50
push
eax
:0048B4B2 6A02
push 00000002
*
Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h
|
:0048B4B4 FF152C124000 Call
dword ptr [0040122C]
:0048B4BA 8D8D50FFFFFF
lea ecx, dword ptr [ebp+FFFFFF50]
:0048B4C0 51
push ecx
:0048B4C1 8D9560FFFFFF
lea edx, dword ptr [ebp+FFFFFF60]
:0048B4C7
52 push
edx
:0048B4C8 8D8570FFFFFF lea eax,
dword ptr [ebp+FFFFFF70]
:0048B4CE 50
push eax
:0048B4CF 8D4D80
lea ecx, dword ptr [ebp-80]
:0048B4D2
51 push
ecx
:0048B4D3 6A04
push 00000004
*
Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:0048B4D5 FF1540104000 Call
dword ptr [00401040]
:0048B4DB 83C420
add esp, 00000020
:0048B4DE 8B13
mov edx, dword ptr [ebx]
:0048B4E0
53 push
ebx
:0048B4E1 FF9200070000 call dword
ptr [edx+00000700]
:0048B4E7 85C0
test eax, eax
:0048B4E9 7D12
jge 0048B4FD
:0048B4EB 6800070000
push 00000700
:0048B4F0 68C4074100
push 004107C4
:0048B4F5 53
push
ebx
:0048B4F6 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B4F7 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B4E9(C)
|
:0048B4FD
A1D0FD4900 mov eax, dword ptr
[0049FDD0]
:0048B502 85C0
test eax, eax
:0048B504 7510
jne 0048B516
:0048B506 68D0FD4900
push 0049FDD0
:0048B50B 68B4F54000
push 0040F5B4
*
Reference To: MSVBVM60.__vbaNew2, Ord:0000h
|
:0048B510
FF1514124000 Call dword ptr [00401214]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B504(C)
|
:0048B516
A1D0FD4900 mov eax, dword ptr
[0049FDD0]
:0048B51B 8985E4FEFFFF mov
dword ptr [ebp+FFFFFEE4], eax
:0048B521 8B30
mov esi, dword ptr [eax]
:0048B523 53
push ebx
:0048B524
8D459C lea eax,
dword ptr [ebp-64]
:0048B527 50
push eax
*
Reference To: MSVBVM60.__vbaObjSetAddref, Ord:0000h
|
:0048B528 FF15DC104000 Call
dword ptr [004010DC]
:0048B52E 50
push eax
:0048B52F 8BCE
mov ecx, esi
:0048B531 8BB5E4FEFFFF
mov esi, dword ptr [ebp+FFFFFEE4]
:0048B537
56 push
esi
:0048B538 FF5110
call [ecx+10]
:0048B53B DBE2
fclex
:0048B53D 85C0
test eax, eax
:0048B53F 7D0F
jge 0048B550
:0048B541
6A10 push
00000010
:0048B543 68A4F54000 push
0040F5A4
:0048B548 56
push esi
:0048B549 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B54A FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B53F(C)
|
:0048B550
8D4D9C lea ecx,
dword ptr [ebp-64]
*
Reference To: MSVBVM60.__vbaFreeObj, Ord:0000h
|
:0048B553 FF15EC124000 Call
dword ptr [004012EC]
*
Reference To: MSVBVM60.__vbaEnd, Ord:0000h
|
:0048B559
FF1544104000 Call dword ptr [00401044]
:0048B55F
BE0A000000 mov esi, 0000000A
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B3FE(C)
|
:0048B564
8B55C0 mov edx,
dword ptr [ebp-40]
:0048B567 52
push edx
*
Possible StringData Ref from Data Obj ->"SSNHHQXTDCOM"
|
:0048B568 68441C4100
push 00411C44
*
Reference To: MSVBVM60.__vbaStrCmp, Ord:0000h
|
:0048B56D FF1534114000 Call
dword ptr [00401134]
:0048B573 85C0
test eax, eax
:0048B575 0F8591000000
jne 0048B60C
====>跳过去
:0048B57B
B804000280 mov eax, 80020004
:0048B580
898558FFFFFF mov dword ptr [ebp+FFFFFF58],
eax
:0048B586 89B550FFFFFF mov dword
ptr [ebp+FFFFFF50], esi
:0048B58C 898568FFFFFF
mov dword ptr [ebp+FFFFFF68], eax
:0048B592 89B560FFFFFF
mov dword ptr [ebp+FFFFFF60], esi
:0048B598
898578FFFFFF mov dword ptr [ebp+FFFFFF78],
eax
:0048B59E 89B570FFFFFF mov dword
ptr [ebp+FFFFFF70], esi
*
Possible StringData Ref from Data Obj ->"鑜孮b烺"
|
:0048B5A4 C78548FFFFFF601C4100 mov dword
ptr [ebp+FFFFFF48], 00411C60
:0048B5AE C78540FFFFFF08000000 mov
dword ptr [ebp+FFFFFF40], 00000008
:0048B5B8 8D9540FFFFFF
lea edx, dword ptr [ebp+FFFFFF40]
:0048B5BE 8D4D80
lea ecx, dword ptr [ebp-80]
*
Reference To: MSVBVM60.__vbaVarDup, Ord:0000h
|
:0048B5C1 FF156C124000 Call
dword ptr [0040126C]
:0048B5C7 8D8550FFFFFF
lea eax, dword ptr [ebp+FFFFFF50]
:0048B5CD 50
push eax
:0048B5CE 8D8D60FFFFFF
lea ecx, dword ptr [ebp+FFFFFF60]
:0048B5D4
51 push
ecx
:0048B5D5 8D9570FFFFFF lea edx,
dword ptr [ebp+FFFFFF70]
:0048B5DB 52
push edx
:0048B5DC 6A00
push 00000000
:0048B5DE 8D4580
lea eax, dword ptr
[ebp-80]
:0048B5E1 50
push eax
*
Reference To: MSVBVM60.rtcMsgBox, Ord:0253h
|
:0048B5E2
FF15CC104000 Call dword ptr [004010CC]
:0048B5E8
8D8D50FFFFFF lea ecx, dword ptr [ebp+FFFFFF50]
:0048B5EE
51 push
ecx
:0048B5EF 8D9560FFFFFF lea edx,
dword ptr [ebp+FFFFFF60]
:0048B5F5 52
push edx
:0048B5F6 8D8570FFFFFF
lea eax, dword ptr [ebp+FFFFFF70]
:0048B5FC 50
push eax
:0048B5FD
8D4D80 lea ecx,
dword ptr [ebp-80]
:0048B600 51
push ecx
:0048B601 6A04
push 00000004
*
Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:0048B603 FF1540104000 Call
dword ptr [00401040]
:0048B609 83C414
add esp, 00000014
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B575(C)
|
:0048B60C
8D7338 lea esi,
dword ptr [ebx+38]
*
Possible StringData Ref from Data Obj ->""
|
:0048B60F 68085C4000
push 00405C08
*
Reference To: MSVBVM60.__vbaNew, Ord:0000h
|
:0048B614
FF1584114000 Call dword ptr [00401184]
:0048B61A
50 push
eax
:0048B61B 8D559C
lea edx, dword ptr [ebp-64]
:0048B61E 52
push edx
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B61F FF15D0104000 Call
dword ptr [004010D0]
:0048B625 50
push eax
:0048B626 56
push esi
*
Reference To: MSVBVM60.__vbaObjSetAddref, Ord:0000h
|
:0048B627 FF15DC104000 Call
dword ptr [004010DC]
:0048B62D 8D4D9C
lea ecx, dword ptr [ebp-64]
*
Reference To: MSVBVM60.__vbaFreeObj, Ord:0000h
|
:0048B630 FF15EC124000 Call
dword ptr [004012EC]
:0048B636 A1CCF24900
mov eax, dword ptr [0049F2CC]
:0048B63B 85C0
test eax, eax
:0048B63D 7515
jne 0048B654
:0048B63F
68CCF24900 push 0049F2CC
*
Possible StringData Ref from Data Obj ->""
|
:0048B644 68046B4000
push 00406B04
*
Reference To: MSVBVM60.__vbaNew2, Ord:0000h
|
:0048B649
FF1514124000 Call dword ptr [00401214]
:0048B64F
A1CCF24900 mov eax, dword ptr
[0049F2CC]
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:0048B63D(C)
|
:0048B654
8B08 mov
ecx, dword ptr [eax]
:0048B656 50
push eax
:0048B657 FF910C030000
call dword ptr [ecx+0000030C]
:0048B65D 50
push eax
:0048B65E
8D559C lea edx,
dword ptr [ebp-64]
:0048B661 52
push edx
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B662 FF15D0104000 Call
dword ptr [004010D0]
:0048B668 8BF0
mov esi, eax
:0048B66A 8B06
mov eax, dword ptr [esi]
:0048B66C
8D4DAC lea ecx,
dword ptr [ebp-54]
:0048B66F 51
push ecx
:0048B670 56
push esi
:0048B671 FF5050
call [eax+50]
:0048B674
DBE2 fclex
:0048B676
85C0 test
eax, eax
:0048B678 7D0F
jge 0048B689
:0048B67A 6A50
push 00000050
*
Possible StringData Ref from Data Obj ->"貼?檉??"
|
:0048B67C 6878F54000
push 0040F578
:0048B681 56
push esi
:0048B682 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B683 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B678(C)
|
:0048B689
8B55AC mov edx,
dword ptr [ebp-54]
====>EDX=girlboy
呵呵,“女孩男孩”可是重要参数呀!
:0048B68C
C745AC00000000 mov [ebp-54], 00000000
:0048B693
8D4DA8 lea ecx,
dword ptr [ebp-58]
:0048B696 FFD7
call edi
:0048B698 8B4338
mov eax, dword ptr [ebx+38]
:0048B69B 8B10
mov edx,
dword ptr [eax]
:0048B69D 8D4DA8
lea ecx, dword ptr [ebp-58]
:0048B6A0 51
push ecx
:0048B6A1
50 push
eax
:0048B6A2 FF521C
call [edx+1C]
:0048B6A5 DBE2
fclex
:0048B6A7 85C0
test eax, eax
:0048B6A9 7D12
jge 0048B6BD
:0048B6AB
6A1C push
0000001C
* Possible
StringData Ref from Data Obj ->"趠皕LH?g0瓬KRKeyString"
|
:0048B6AD 687C1C4100
push 00411C7C
:0048B6B2 8B5338
mov edx, dword ptr [ebx+38]
:0048B6B5 52
push
edx
:0048B6B6 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B6B7 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B6A9(C)
|
:0048B6BD
8D4DA8 lea ecx,
dword ptr [ebp-58]
*
Reference To: MSVBVM60.__vbaFreeStr, Ord:0000h
|
:0048B6C0 FF15E8124000 Call
dword ptr [004012E8]
:0048B6C6 8D4D9C
lea ecx, dword ptr [ebp-64]
*
Reference To: MSVBVM60.__vbaFreeObj, Ord:0000h
|
:0048B6C9 FF15EC124000 Call
dword ptr [004012EC]
:0048B6CF 8B03
mov eax, dword ptr [ebx]
:0048B6D1 53
push ebx
:0048B6D2
FF9014030000 call dword ptr [eax+00000314]
:0048B6D8
50 push
eax
:0048B6D9 8D4D9C
lea ecx, dword ptr [ebp-64]
:0048B6DC 51
push ecx
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B6DD FF15D0104000 Call
dword ptr [004010D0]
:0048B6E3 8BF0
mov esi, eax
:0048B6E5 8B16
mov edx, dword ptr [esi]
:0048B6E7
8D45A4 lea eax,
dword ptr [ebp-5C]
:0048B6EA 50
push eax
:0048B6EB 56
push esi
:0048B6EC FF92A0000000
call dword ptr [edx+000000A0]
:0048B6F2
DBE2 fclex
:0048B6F4
85C0 test
eax, eax
:0048B6F6 7D12
jge 0048B70A
:0048B6F8 68A0000000
push 000000A0
*
Possible StringData Ref from Data Obj ->"酦?檉??"
|
:0048B6FD 6898044100
push 00410498
:0048B702 56
push esi
:0048B703 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B704 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B6F6(C)
|
*
Possible StringData Ref from Data Obj ->"JJgClockV32SnCode"
|
:0048B70A BA381D4100
mov edx, 00411D38
:0048B70F 8D4DAC
lea ecx, dword ptr [ebp-54]
*
Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
|
:0048B712 FF1524124000 Call
dword ptr [00401224]
:0048B718 8B4338
mov eax, dword ptr [ebx+38]
:0048B71B 8B08
mov ecx, dword ptr [eax]
:0048B71D
8D55A8 lea edx,
dword ptr [ebp-58]
:0048B720 52
push edx
:0048B721 8D55AC
lea edx, dword ptr [ebp-54]
:0048B724 52
push
edx
:0048B725 50
push eax
:0048B726 FF5120
call [ecx+20]
:0048B729 DBE2
fclex
:0048B72B 85C0
test eax, eax
:0048B72D
7D12 jge
0048B741
:0048B72F 6A20
push 00000020
*
Possible StringData Ref from Data Obj ->"趠皕LH?g0瓬KRKeyString"
|
:0048B731 687C1C4100
push 00411C7C
:0048B736 8B4B38
mov ecx, dword ptr [ebx+38]
:0048B739
51 push
ecx
:0048B73A 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B73B FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B72D(C)
|
:0048B741
8B55A4 mov edx,
dword ptr [ebp-5C]
:0048B744 52
push edx
:0048B745 8B45A8
mov eax, dword ptr [ebp-58]
:0048B748 50
push
eax
* Reference To:
MSVBVM60.__vbaStrCmp, Ord:0000h
|
:0048B749
FF1534114000 Call dword ptr [00401134]
:0048B74F
8BF0 mov
esi, eax
:0048B751 F7DE
neg esi
:0048B753 1BF6
sbb esi, esi
:0048B755 46
inc esi
:0048B756 F7DE
neg esi
:0048B758
8D4DA8 lea ecx,
dword ptr [ebp-58]
:0048B75B 51
push ecx
:0048B75C 8D55A4
lea edx, dword ptr [ebp-5C]
:0048B75F 52
push
edx
:0048B760 8D45AC
lea eax, dword ptr [ebp-54]
:0048B763 50
push eax
:0048B764 6A03
push 00000003
*
Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h
|
:0048B766 FF152C124000 Call
dword ptr [0040122C]
:0048B76C 83C410
add esp, 00000010
:0048B76F 8D4D9C
lea ecx, dword ptr [ebp-64]
*
Reference To: MSVBVM60.__vbaFreeObj, Ord:0000h
|
:0048B772 FF15EC124000 Call
dword ptr [004012EC]
:0048B778 6685F6
test si, si
:0048B77B 7440
je 0048B7BD
====>跳下去!
:0048B77D
A1B8F24900 mov eax, dword ptr
[0049F2B8]
:0048B782 85C0
test eax, eax
:0048B784 7510
jne 0048B796
:0048B786 68B8F24900
push 0049F2B8
*
Possible StringData Ref from Data Obj ->""
|
:0048B78B 680CC14000
push 0040C10C
*
Reference To: MSVBVM60.__vbaNew2, Ord:0000h
|
:0048B790
FF1514124000 Call dword ptr [00401214]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B784(C)
|
:0048B796
8B35B8F24900 mov esi, dword ptr [0049F2B8]
:0048B79C
8B0E mov
ecx, dword ptr [esi]
:0048B79E 56
push esi
:0048B79F FF9104070000
call dword ptr [ecx+00000704]
:0048B7A5 DBE2
fclex
:0048B7A7
85C0 test
eax, eax
:0048B7A9 7D12
jge 0048B7BD
:0048B7AB 6804070000
push 00000704
:0048B7B0 68E4E74000
push 0040E7E4
:0048B7B5 56
push esi
:0048B7B6 50
push
eax
* Reference To:
MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B7B7
FF15A4104000 Call dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0048B77B(C),
:0048B7A9(C)
|
:0048B7BD 8B13
mov edx, dword ptr [ebx]
:0048B7BF 53
push ebx
:0048B7C0
FF9234030000 call dword ptr [edx+00000334]
:0048B7C6
50 push
eax
:0048B7C7 8D459C
lea eax, dword ptr [ebp-64]
:0048B7CA 50
push eax
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B7CB FF15D0104000 Call
dword ptr [004010D0]
:0048B7D1 8BF0
mov esi, eax
:0048B7D3 8B0E
mov ecx, dword ptr [esi]
:0048B7D5
8D55AC lea edx,
dword ptr [ebp-54]
:0048B7D8 52
push edx
:0048B7D9 56
push esi
:0048B7DA FF5150
call [ecx+50]
:0048B7DD
DBE2 fclex
:0048B7DF
85C0 test
eax, eax
:0048B7E1 7D0F
jge 0048B7F2
:0048B7E3 6A50
push 00000050
*
Possible StringData Ref from Data Obj ->"貼?檉??"
|
:0048B7E5 6878F54000
push 0040F578
:0048B7EA 56
push esi
:0048B7EB 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B7EC FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B7E1(C)
|
:0048B7F2
8B45AC mov eax,
dword ptr [ebp-54]
====>EAX=121
:0048B7F5 50 push eax
* Reference To:
MSVBVM60.rtcR8ValFromBstr, Ord:0245h
|
:0048B7F6
FF15F0124000 Call dword ptr [004012F0]
:0048B7FC
DD9D00FFFFFF fstp qword ptr [ebp+FFFFFF00]
====>ST=121.00000000000000000
:0048B802
8B0B mov
ecx, dword ptr [ebx]
:0048B804 53
push ebx
:0048B805 FF9130030000
call dword ptr [ecx+00000330]
:0048B80B 50
push eax
:0048B80C
8D5598 lea edx,
dword ptr [ebp-68]
:0048B80F 52
push edx
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B810 FF15D0104000 Call
dword ptr [004010D0]
:0048B816 8BF0
mov esi, eax
:0048B818 8B06
mov eax, dword ptr [esi]
:0048B81A
8D4DA8 lea ecx,
dword ptr [ebp-58]
:0048B81D 51
push ecx
:0048B81E 56
push esi
:0048B81F FF5050
call [eax+50]
:0048B822
DBE2 fclex
:0048B824
85C0 test
eax, eax
:0048B826 7D0F
jge 0048B837
:0048B828 6A50
push 00000050
*
Possible StringData Ref from Data Obj ->"貼?檉??"
|
:0048B82A 6878F54000
push 0040F578
:0048B82F 56
push esi
:0048B830 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B831 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B826(C)
|
:0048B837
8B55A8 mov edx,
dword ptr [ebp-58]
====>EDX=83
:0048B83A 52 push edx
* Reference To:
MSVBVM60.rtcR8ValFromBstr, Ord:0245h
|
:0048B83B
FF15F0124000 Call dword ptr [004012F0]
:0048B841
DD9DF8FEFFFF fstp qword ptr [ebp+FFFFFEF8]
====>ST=83.000000000000000000
:0048B847
8B03 mov
eax, dword ptr [ebx]
:0048B849 53
push ebx
:0048B84A FF902C030000
call dword ptr [eax+0000032C]
:0048B850 50
push eax
:0048B851
8D4D94 lea ecx,
dword ptr [ebp-6C]
:0048B854 51
push ecx
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B855 FF15D0104000 Call
dword ptr [004010D0]
:0048B85B 8BF0
mov esi, eax
:0048B85D 8B16
mov edx, dword ptr [esi]
:0048B85F
8D45A4 lea eax,
dword ptr [ebp-5C]
:0048B862 50
push eax
:0048B863 56
push esi
:0048B864 FF5250
call [edx+50]
:0048B867
DBE2 fclex
:0048B869
85C0 test
eax, eax
:0048B86B 7D0F
jge 0048B87C
:0048B86D 6A50
push 00000050
*
Possible StringData Ref from Data Obj ->"貼?檉??"
|
:0048B86F 6878F54000
push 0040F578
:0048B874 56
push esi
:0048B875 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B876 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B86B(C)
|
:0048B87C
8B4DA4 mov ecx,
dword ptr [ebp-5C]
====>ECX=97
:0048B87F 51 push ecx
* Reference To:
MSVBVM60.rtcR8ValFromBstr, Ord:0245h
|
:0048B880
FF15F0124000 Call dword ptr [004012F0]
:0048B886
DD9DF0FEFFFF fstp qword ptr [ebp+FFFFFEF0]
====>ST=97.000000000000000000
:0048B88C
8B13 mov
edx, dword ptr [ebx]
:0048B88E 53
push ebx
:0048B88F FF9228030000
call dword ptr [edx+00000328]
:0048B895 50
push eax
:0048B896
8D4590 lea eax,
dword ptr [ebp-70]
:0048B899 50
push eax
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048B89A FF15D0104000 Call
dword ptr [004010D0]
:0048B8A0 8BF0
mov esi, eax
:0048B8A2 8B0E
mov ecx, dword ptr [esi]
:0048B8A4
8D55A0 lea edx,
dword ptr [ebp-60]
:0048B8A7 52
push edx
:0048B8A8 56
push esi
:0048B8A9 FF5150
call [ecx+50]
:0048B8AC
DBE2 fclex
:0048B8AE
85C0 test
eax, eax
:0048B8B0 7D0F
jge 0048B8C1
:0048B8B2 6A50
push 00000050
*
Possible StringData Ref from Data Obj ->"貼?檉??"
|
:0048B8B4 6878F54000
push 0040F578
:0048B8B9 56
push esi
:0048B8BA 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B8BB FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B8B0(C)
|
:0048B8C1
8B45A0 mov eax,
dword ptr [ebp-60]
====>EAX=1004365879
程序自给?!
:0048B8C4 50 push eax
###############晕——下面这些浮点运算难道又是“冗余代码”?!###################
*
Reference To: MSVBVM60.rtcR8ValFromBstr, Ord:0245h
|
:0048B8C5 FF15F0124000 Call
dword ptr [004012F0]
:0048B8CB DD9DE8FEFFFF
fstp qword ptr [ebp+FFFFFEE8]
====>ST=1004365879.0000000000
:0048B8D1
8B4B3C mov ecx,
dword ptr [ebx+3C]
====>ECX=5554908250
:0048B8D4 51 push ecx
* Reference To:
MSVBVM60.__vbaR8Str, Ord:0000h
|
:0048B8D5
FF1510124000 Call dword ptr [00401210]
====>取数
:0048B8DB
DCA500FFFFFF fsub qword ptr [ebp+FFFFFF00]
====>ST=5554908250.0000000000 - 121.0000000000000=5554908129.0000000000
:0048B8E1
DC8DF8FEFFFF fmul qword ptr [ebp+FFFFFEF8]
====>ST=5554908129.0000000000 * 83.00000000000000=4.6105737470700000000e+11
:0048B8E7
833D00F0490000 cmp dword ptr [0049F000], 00000000
:0048B8EE
7508 jne
0048B8F8
:0048B8F0 DCB5F0FEFFFF fdiv
qword ptr [ebp+FFFFFEF0]
====>ST=4.6105737470700000000e+11
/ 97.00000000000000=4753168811.4123711340
:0048B8F6
EB11 jmp
0048B909
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:0048B8EE(C)
|
:0048B8F8
FFB5F4FEFFFF push dword ptr [ebp+FFFFFEF4]
:0048B8FE
FFB5F0FEFFFF push dword ptr [ebp+FFFFFEF0]
*
Reference To: MSVBVM60._adj_fdiv_m64, Ord:0000h
|
:0048B904 E8AB6FF7FF Call
004028B4
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:0048B8F6(U)
|
:0048B909
DC85E8FEFFFF fadd qword ptr [ebp+FFFFFEE8]
====>ST=4753168811.4123711340 + 1004365879.000000=5757534690.4123711340
:0048B90F
DFE0 fstsw
ax
:0048B911 A80D
test al, 0D
:0048B913 0F857C0B0000
jne 0048C495
*
Reference To: MSVBVM60.__vbaFPInt, Ord:0000h
|
:0048B919
FF15D4124000 Call dword ptr [004012D4]
:0048B91F
DD5DD0 fstp qword
ptr [ebp-30]
====>ST=5757534690.0000000000
:0048B922
8D55A0 lea edx,
dword ptr [ebp-60]
:0048B925 52
push edx
:0048B926 8D45A4
lea eax, dword ptr [ebp-5C]
:0048B929 50
push
eax
:0048B92A 8D4DA8
lea ecx, dword ptr [ebp-58]
:0048B92D 51
push ecx
:0048B92E 8D55AC
lea edx, dword ptr [ebp-54]
:0048B931
52 push
edx
:0048B932 6A04
push 00000004
*
Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h
|
:0048B934 FF152C124000 Call
dword ptr [0040122C]
:0048B93A 8D4590
lea eax, dword ptr [ebp-70]
:0048B93D 50
push eax
:0048B93E
8D4D94 lea ecx,
dword ptr [ebp-6C]
:0048B941 51
push ecx
:0048B942 8D5598
lea edx, dword ptr [ebp-68]
:0048B945 52
push
edx
:0048B946 8D459C
lea eax, dword ptr [ebp-64]
:0048B949 50
push eax
:0048B94A 6A04
push 00000004
*
Reference To: MSVBVM60.__vbaFreeObjList, Ord:0000h
|
:0048B94C FF1550104000 Call
dword ptr [00401050]
:0048B952 83C428
add esp, 00000028
:0048B955 A1B8F24900
mov eax, dword ptr [0049F2B8]
:0048B95A 85C0
test eax, eax
:0048B95C
7510 jne
0048B96E
:0048B95E 68B8F24900 push
0049F2B8
* Possible
StringData Ref from Data Obj ->""
|
:0048B963 680CC14000 push
0040C10C
* Reference
To: MSVBVM60.__vbaNew2, Ord:0000h
|
:0048B968
FF1514124000 Call dword ptr [00401214]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B95C(C)
|
:0048B96E
8B35B8F24900 mov esi, dword ptr [0049F2B8]
:0048B974
8B0E mov
ecx, dword ptr [esi]
:0048B976 56
push esi
:0048B977 FF9104070000
call dword ptr [ecx+00000704]
:0048B97D DBE2
fclex
:0048B97F
85C0 test
eax, eax
:0048B981 7D12
jge 0048B995
:0048B983 6804070000
push 00000704
:0048B988 68E4E74000
push 0040E7E4
:0048B98D 56
push esi
:0048B98E 50
push
eax
* Reference To:
MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048B98F
FF15A4104000 Call dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B981(C)
|
:0048B995
8B55C0 mov edx,
dword ptr [ebp-40]
:0048B998 52
push edx
*
Possible StringData Ref from Data Obj ->"SSNHHQXTDNET"
|
:0048B999 68601D4100
push 00411D60
*
Reference To: MSVBVM60.__vbaStrCmp, Ord:0000h
|
:0048B99E 8B3534114000 mov
esi, dword ptr [00401134]
:0048B9A4 FFD6
call esi
:0048B9A6 85C0
test eax, eax
:0048B9A8 7431
je 0048B9DB
:0048B9AA
8B55C0 mov edx,
dword ptr [ebp-40]
:0048B9AD 52
push edx
*
Possible StringData Ref from Data Obj ->"SSNHHQXTDORG"
|
:0048B9AE 687C1D4100
push 00411D7C
:0048B9B3 FFD6
call esi
:0048B9B5 85C0
test eax, eax
:0048B9B7
7422 je 0048B9DB
:0048B9B9
8B55C0 mov edx,
dword ptr [ebp-40]
:0048B9BC 52
push edx
*
Possible StringData Ref from Data Obj ->"SSNHHQXTDCN"
|
:0048B9BD 68981D4100
push 00411D98
:0048B9C2 FFD6
call esi
:0048B9C4 85C0
test eax, eax
:0048B9C6
7413 je 0048B9DB
:0048B9C8
8B55C0 mov edx,
dword ptr [ebp-40]
:0048B9CB 52
push edx
*
Possible StringData Ref from Data Obj ->"SSNHHQXTDLZK"
|
:0048B9CC 68B41D4100
push 00411DB4
:0048B9D1 FFD6
call esi
:0048B9D3 85C0
test eax, eax
:0048B9D5
0F859B000000 jne 0048BA76
*
Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0048B9A8(C),
:0048B9B7(C), :0048B9C6(C)
|
:0048B9DB B904000280
mov ecx, 80020004
:0048B9E0 898D58FFFFFF
mov dword ptr [ebp+FFFFFF58], ecx
:0048B9E6 B80A000000
mov eax, 0000000A
:0048B9EB
898550FFFFFF mov dword ptr [ebp+FFFFFF50],
eax
:0048B9F1 898D68FFFFFF mov dword
ptr [ebp+FFFFFF68], ecx
:0048B9F7 898560FFFFFF
mov dword ptr [ebp+FFFFFF60], eax
:0048B9FD 898D78FFFFFF
mov dword ptr [ebp+FFFFFF78], ecx
:0048BA03
898570FFFFFF mov dword ptr [ebp+FFFFFF70],
eax
* Possible StringData
Ref from Data Obj ->"鑜孮b烺"
|
:0048BA09
C78548FFFFFF601C4100 mov dword ptr [ebp+FFFFFF48], 00411C60
:0048BA13
C78540FFFFFF08000000 mov dword ptr [ebp+FFFFFF40], 00000008
:0048BA1D
8D9540FFFFFF lea edx, dword ptr [ebp+FFFFFF40]
:0048BA23
8D4D80 lea ecx,
dword ptr [ebp-80]
*
Reference To: MSVBVM60.__vbaVarDup, Ord:0000h
|
:0048BA26 FF156C124000 Call
dword ptr [0040126C]
:0048BA2C 8D8550FFFFFF
lea eax, dword ptr [ebp+FFFFFF50]
:0048BA32 50
push eax
:0048BA33 8D8D60FFFFFF
lea ecx, dword ptr [ebp+FFFFFF60]
:0048BA39
51 push
ecx
:0048BA3A 8D9570FFFFFF lea edx,
dword ptr [ebp+FFFFFF70]
:0048BA40 52
push edx
:0048BA41 6A00
push 00000000
:0048BA43 8D4580
lea eax, dword ptr
[ebp-80]
:0048BA46 50
push eax
*
Reference To: MSVBVM60.rtcMsgBox, Ord:0253h
|
:0048BA47
FF15CC104000 Call dword ptr [004010CC]
:0048BA4D
8D8D50FFFFFF lea ecx, dword ptr [ebp+FFFFFF50]
:0048BA53
51 push
ecx
:0048BA54 8D9560FFFFFF lea edx,
dword ptr [ebp+FFFFFF60]
:0048BA5A 52
push edx
:0048BA5B 8D8570FFFFFF
lea eax, dword ptr [ebp+FFFFFF70]
:0048BA61 50
push eax
:0048BA62
8D4D80 lea ecx,
dword ptr [ebp-80]
:0048BA65 51
push ecx
:0048BA66 6A04
push 00000004
*
Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:0048BA68 FF1540104000 Call
dword ptr [00401040]
:0048BA6E 83C414
add esp, 00000014
:0048BA71 E916080000
jmp 0048C28C
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048B9D5(C)
|
:0048BA76
8B13 mov
edx, dword ptr [ebx]
:0048BA78 53
push ebx
:0048BA79 FF9214030000
call dword ptr [edx+00000314]
:0048BA7F 50
push eax
:0048BA80
8D459C lea eax,
dword ptr [ebp-64]
:0048BA83 50
push eax
*
Reference To: MSVBVM60.__vbaObjSet, Ord:0000h
|
:0048BA84 FF15D0104000 Call
dword ptr [004010D0]
:0048BA8A 8BF0
mov esi, eax
:0048BA8C 8B0E
mov ecx, dword ptr [esi]
:0048BA8E
8D55A8 lea edx,
dword ptr [ebp-58]
:0048BA91 52
push edx
:0048BA92 56
push esi
:0048BA93 FF91A0000000
call dword ptr [ecx+000000A0]
:0048BA99
DBE2 fclex
:0048BA9B
85C0 test
eax, eax
:0048BA9D 7D12
jge 0048BAB1
:0048BA9F 68A0000000
push 000000A0
*
Possible StringData Ref from Data Obj ->"酦?檉??"
|
:0048BAA4 6898044100
push 00410498
:0048BAA9 56
push esi
:0048BAAA 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048BAAB FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048BA9D(C)
|
:0048BAB1
8B4338 mov eax,
dword ptr [ebx+38]
:0048BAB4 8B10
mov edx, dword ptr [eax]
:0048BAB6 8D4DAC
lea ecx, dword ptr [ebp-54]
:0048BAB9
51 push
ecx
:0048BABA 8D4B3C
lea ecx, dword ptr [ebx+3C]
:0048BABD 51
push ecx
:0048BABE 50
push eax
:0048BABF
FF5220 call [edx+20]
====>算法CALL!进入!
:0048BAC2
DBE2 fclex
:0048BAC4
85C0 test
eax, eax
:0048BAC6 7D12
jge 0048BADA
:0048BAC8 6A20
push 00000020
*
Possible StringData Ref from Data Obj ->"趠皕LH?g0瓬KRKeyString"
|
:0048BACA 687C1C4100
push 00411C7C
:0048BACF 8B5338
mov edx, dword ptr [ebx+38]
:0048BAD2
52 push
edx
:0048BAD3 50
push eax
*
Reference To: MSVBVM60.__vbaHresultCheckObj, Ord:0000h
|
:0048BAD4 FF15A4104000 Call
dword ptr [004010A4]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048BAC6(C)
|
:0048BADA
8B45A8 mov eax,
dword ptr [ebp-58]
====>EAX=1357246890
试炼码!
:0048BADD
50 push
eax
:0048BADE 8B4DAC
mov ecx, dword ptr [ebp-54]
====>ECX=bdm1P
yZd2 注册码!
:0048BAE1 51 push ecx
* Reference To:
MSVBVM60.__vbaStrCmp, Ord:0000h
|
:0048BAE2
FF1534114000 Call dword ptr [00401134]
====>比较真假码!
:0048BAE8
8BF0 mov
esi, eax
====>ESI=EAX=FFFFFFFF
这是试炼码比较后返回的结果
:0048BAEA
F7DE neg
esi
====>ESI=00000001
:0048BAEC
1BF6 sbb
esi, esi
====>ESI=FFFFFFFF
选择此处作为完美爆破点!
:0048BAEE
46 inc
esi
====>ESI=00000000
:0048BAEF
F7DE neg
esi
====>ESI=00000000
:0048BAF1
8D55AC lea edx,
dword ptr [ebp-54]
:0048BAF4 52
push edx
:0048BAF5 8D45A8
lea eax, dword ptr [ebp-58]
:0048BAF8 50
push
eax
:0048BAF9 6A02
push 00000002
*
Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h
|
:0048BAFB FF152C124000 Call
dword ptr [0040122C]
:0048BB01 83C40C
add esp, 0000000C
:0048BB04 8D4D9C
lea ecx, dword ptr [ebp-64]
*
Reference To: MSVBVM60.__vbaFreeObj, Ord:0000h
|
:0048BB07 FF15EC124000 Call
dword ptr [004012EC]
:0048BB0D 6685F6
test si, si
====>根据
SI 的值判断成功或是失败!
:0048BB10
0F8497060000 je 0048C1AD
====>跳则OVER
:0048BB16
A1CCF24900 mov eax, dword ptr
[0049F2CC]
:0048BB1B 85C0
test eax, eax
:0048BB1D 7515
jne 0048BB34
:0048BB1F 68CCF24900
push 0049F2CC
*
Possible StringData Ref from Data Obj ->""
|
:0048BB24 68046B4000
push 00406B04
*
Reference To: MSVBVM60.__vbaNew2, Ord:0000h
|
:0048BB29
FF1514124000 Call dword ptr [00401214]
:0048BB2F
A1CCF24900 mov eax, dword ptr
[0049F2CC]
—————————————————————————————————
进入算法CALL:0048BABF call [edx+20]后来到这里!
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049C34F(U)
|
:0049C0E0
663B8560FFFFFF cmp ax, word ptr [ebp+FFFFFF60]
:0049C0E7
0F8F67020000 jg 0049C354
:0049C0ED
8D55E0 lea edx,
dword ptr [ebp-20]
*
Reference To: MSVBVM60.rtcMidCharVar, Ord:0278h
|
:0049C0F0 8B1D18114000 mov
ebx, dword ptr [00401118]
:0049C0F6 895598
mov dword ptr [ebp-68], edx
:0049C0F9 8D4DC0
lea ecx, dword ptr [ebp-40]
:0049C0FC
0FBFD0 movsx edx,
ax
:0049C0FF 51
push ecx
:0049C100 8D4590
lea eax, dword ptr [ebp-70]
:0049C103 52
push edx
:0049C104
8D4DB0 lea ecx,
dword ptr [ebp-50]
:0049C107 50
push eax
:0049C108 51
push ecx
:0049C109 C745C801000000
mov [ebp-38], 00000001
:0049C110 C745C002000000
mov [ebp-40], 00000002
:0049C117 C7459008400000
mov [ebp-70], 00004008
:0049C11E FFD3
call ebx
====>依次取机器码作为大循环的参数!
:0049C120
8D55B0 lea edx,
dword ptr [ebp-50]
:0049C123 52
push edx
*
Reference To: MSVBVM60.__vbaStrVarMove, Ord:0000h
|
:0049C124 FF1534104000 Call
dword ptr [00401034]
*
Reference To: MSVBVM60.__vbaStrMove, Ord:0000h
|
:0049C12A 8B3DA4124000 mov
edi, dword ptr [004012A4]
:0049C130 8BD0
mov edx, eax
:0049C132 8D4DE8
lea ecx, dword ptr [ebp-18]
:0049C135
FFD7 call
edi
:0049C137 8D45B0
lea eax, dword ptr [ebp-50]
:0049C13A 8D4DC0
lea ecx, dword ptr [ebp-40]
:0049C13D 50
push
eax
:0049C13E 51
push ecx
:0049C13F 6A02
push 00000002
*
Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:0049C141 FF1540104000 Call
dword ptr [00401040]
:0049C147 8B563C
mov edx, dword ptr [esi+3C]
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[esi+3C]内存中的值是一张表:
0015C2C4
38 00 78 00 33 00 70 00 35 00 42 00 65 00 61 00 8.x.3.p.5.B.e.a.
0015C2D4
62 00 63 00 64 00 66 00 67 00 68 00 69 00 6A 00 b.c.d.f.g.h.i.j.
0015C2E4
6B 00 6C 00 6D 00 6E 00 6F 00 71 00 72 00 73 00 k.l.m.n.o.q.r.s.
0015C2F4
74 00 75 00 76 00 77 00 79 00 7A 00 41 00 43 00 t.u.v.w.y.z.A.C.
0015C304
44 00 45 00 46 00 47 00 48 00 49 00 4A 00 4B 00 D.E.F.G.H.I.J.K.
0015C314
4C 00 4D 00 4E 00 4F 00 50 00 51 00 52 00 53 00 L.M.N.O.P.Q.R.S.
0015C324
54 00 55 00 56 00 57 00 58 00 59 00 5A 00 20 00 T.U.V.W.X.Y.Z. .
0015C334
31 00 32 00 34 00 36 00 37 00 39 00 30 00 2D 00 1.2.4.6.7.9.0.-.
0015C344
2E 00 23 00 2F 00 5C 00 21 00 40 00 24 00 3C 00 ..#./.\.!.@.$.<.
0015C354
3E 00 26 00 2A 00 28 00 29 00 5B 00 5D 00 7B 00 >.&.*.(.).[.].{.
0015C364
7D 00 27 00 3B 00 3A 00 2C 00 3F 00 3D 00 2B 00 }.'.;.:.,.?.=.+.
0015C374
7E 00 60 00 5E 00 7C 00 25 00 5F 00 0D 00 0A 00 ~.`.^.|.%._.....
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
:0049C14A
8B45E8 mov eax,
dword ptr [ebp-18]
:0049C14D 83C40C
add esp, 0000000C
:0049C150 6A01
push 00000001
:0049C152 52
push edx
:0049C153
50 push
eax
:0049C154 6A00
push 00000000
*
Reference To: MSVBVM60.__vbaInStr, Ord:0000h
|
:0049C156
FF150C124000 Call dword ptr [0040120C]
:0049C15C
8BC8 mov
ecx, eax
* Reference
To: MSVBVM60.__vbaI2I4, Ord:0000h
|
:0049C15E
FF1550114000 Call dword ptr [00401150]
:0049C164
6689463A mov word ptr [esi+3A],
ax
:0049C168 8D4E48
lea ecx, dword ptr [esi+48]
:0049C16B 0FBF45D8
movsx eax, word ptr [ebp-28]
:0049C16F 8D55C0
lea edx, dword ptr [ebp-40]
:0049C172
894D98 mov dword
ptr [ebp-68], ecx
:0049C175 52
push edx
:0049C176 8D4D90
lea ecx, dword ptr [ebp-70]
:0049C179 50
push
eax
:0049C17A 8D55B0
lea edx, dword ptr [ebp-50]
:0049C17D 51
push ecx
:0049C17E 52
push edx
:0049C17F
C745C801000000 mov [ebp-38], 00000001
:0049C186
C745C002000000 mov [ebp-40], 00000002
:0049C18D
C7459008400000 mov [ebp-70], 00004008
:0049C194
FFD3 call
ebx
====>依次取girlboy字符的HEX值作为大循环的参数!
:0049C196
8D45B0 lea eax,
dword ptr [ebp-50]
:0049C199 8D5E4C
lea ebx, dword ptr [esi+4C]
:0049C19C 50
push eax
*
Reference To: MSVBVM60.__vbaStrVarMove, Ord:0000h
|
:0049C19D FF1534104000 Call
dword ptr [00401034]
:0049C1A3 8BD0
mov edx, eax
:0049C1A5 8D4DD0
lea ecx, dword ptr [ebp-30]
:0049C1A8
FFD7 call
edi
:0049C1AA 8BD0
mov edx, eax
====>EDX的内存处是依次取的girlboy字符的HEX值
:0049C1AC
8BCB mov
ecx, ebx
====>EDX的内存处是依次取的机器码字符的HEX值
*
Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
|
:0049C1AE FF1524124000 Call
dword ptr [00401224]
:0049C1B4 8D4DD0
lea ecx, dword ptr [ebp-30]
*
Reference To: MSVBVM60.__vbaFreeStr, Ord:0000h
|
:0049C1B7 FF15E8124000 Call
dword ptr [004012E8]
:0049C1BD 8D4DB0
lea ecx, dword ptr [ebp-50]
:0049C1C0 8D55C0
lea edx, dword ptr [ebp-40]
:0049C1C3
51 push
ecx
:0049C1C4 52
push edx
:0049C1C5 6A02
push 00000002
*
Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:0049C1C7 FF1540104000 Call
dword ptr [00401040]
:0049C1CD 668B4638
mov ax, word ptr [esi+38]
:0049C1D1 83C40C
add esp, 0000000C
:0049C1D4
66898558FFFFFF mov word ptr [ebp+FFFFFF58],
ax
:0049C1DB B801000000 mov
eax, 00000001
:0049C1E0 8945E4
mov dword ptr [ebp-1C], eax
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049C28B(U)
|
:0049C1E3
663B8558FFFFFF cmp ax, word ptr [ebp+FFFFFF58]
:0049C1EA
0F8F2D010000 jg 0049C31D
:0049C1F0
0FBFF8 movsx edi,
ax
:0049C1F3 83FF62
cmp edi, 00000062
:0049C1F6 C745C801000000
mov [ebp-38], 00000001
:0049C1FD C745C002000000
mov [ebp-40], 00000002
:0049C204 7206
jb 0049C20C
*
Reference To: MSVBVM60.__vbaGenerateBoundsError, Ord:0000h
|
:0049C206 FF152C114000 Call
dword ptr [0040112C]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049C204(C)
|
:0049C20C
8B4E68 mov ecx,
dword ptr [esi+68]
:0049C20F 8D45C0
lea eax, dword ptr [ebp-40]
:0049C212 50
push eax
:0049C213
8D45B0 lea eax,
dword ptr [ebp-50]
:0049C216 8D14B9
lea edx, dword ptr [ecx+4*edi]
:0049C219 C7459008400000
mov [ebp-70], 00004008
:0049C220 0FBF4E3A
movsx ecx, word ptr [esi+3A]
:0049C224
895598 mov dword
ptr [ebp-68], edx
:0049C227 8D5590
lea edx, dword ptr [ebp-70]
:0049C22A 51
push ecx
:0049C22B
52 push
edx
:0049C22C 50
push eax
*
Reference To: MSVBVM60.rtcMidCharVar, Ord:0278h
|
:0049C22D FF1518114000 Call
dword ptr [00401118]
====>依据运算的不同参数从表中取字符!
:0049C233
8B0B mov
ecx, dword ptr [ebx]
:0049C235 8D55B0
lea edx, dword ptr [ebp-50]
:0049C238 8D8570FFFFFF
lea eax, dword ptr [ebp+FFFFFF70]
:0049C23E
52 push
edx
:0049C23F 50
push eax
:0049C240 898D78FFFFFF
mov dword ptr [ebp+FFFFFF78], ecx
:0049C246 C78570FFFFFF08800000
mov dword ptr [ebp+FFFFFF70], 00008008
*
Reference To: MSVBVM60.__vbaVarTstEq, Ord:0000h
|
:0049C250 FF153C114000 Call
dword ptr [0040113C]
:0049C256 8D4DB0
lea ecx, dword ptr [ebp-50]
:0049C259 8D55C0
lea edx, dword ptr [ebp-40]
:0049C25C
51 push
ecx
:0049C25D 52
push edx
:0049C25E 6A02
push 00000002
:0049C260 898568FFFFFF
mov dword ptr [ebp+FFFFFF68], eax
*
Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:0049C266 FF1540104000 Call
dword ptr [00401040]
:0049C26C 83C40C
add esp, 0000000C
:0049C26F 6683BD68FFFFFF00
cmp word ptr [ebp+FFFFFF68], 0000
:0049C277 7517
jne 0049C290
:0049C279
B801000000 mov eax, 00000001
:0049C27E
660345E4 add ax, word ptr
[ebp-1C]
:0049C282 0F8043010000 jo
0049C3CB
:0049C288 8945E4
mov dword ptr [ebp-1C], eax
:0049C28B E953FFFFFF
jmp 0049C1E3
====>继续“疯狂”小循环!
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049C277(C)
|
:0049C290
83FF62 cmp edi,
00000062
:0049C293 7206
jb 0049C29B
*
Reference To: MSVBVM60.__vbaGenerateBoundsError, Ord:0000h
|
:0049C295 FF152C114000 Call
dword ptr [0040112C]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049C293(C)
|
:0049C29B
8B4668 mov eax,
dword ptr [esi+68]
:0049C29E 8D5590
lea edx, dword ptr [ebp-70]
:0049C2A1 6A01
push 00000001
:0049C2A3
52 push
edx
:0049C2A4 8D0CB8
lea ecx, dword ptr [eax+4*edi]
:0049C2A7 8D45C0
lea eax, dword ptr [ebp-40]
:0049C2AA
50 push
eax
:0049C2AB 894D98
mov dword ptr [ebp-68], ecx
:0049C2AE C7459008400000
mov [ebp-70], 00004008
*
Reference To: MSVBVM60.rtcLeftCharVar, Ord:0269h
|
:0049C2B5 FF1590124000 Call
dword ptr [00401290]
:0049C2BB 8D4DC0
lea ecx, dword ptr [ebp-40]
:0049C2BE 8D7E54
lea edi, dword ptr [esi+54]
:0049C2C1
51 push
ecx
* Reference To:
MSVBVM60.__vbaStrVarMove, Ord:0000h
|
:0049C2C2
FF1534104000 Call dword ptr [00401034]
:0049C2C8
8BD0 mov
edx, eax
:0049C2CA 8D4DD0
lea ecx, dword ptr [ebp-30]
*
Reference To: MSVBVM60.__vbaStrMove, Ord:0000h
|
:0049C2CD FF15A4124000 Call
dword ptr [004012A4]
:0049C2D3 8BD0
mov edx, eax
====>依次循环得出结果:b、d、m、1、P、
、y、X、d、2
:0049C2D5 8BCF mov ecx, edi
* Reference To:
MSVBVM60.__vbaStrCopy, Ord:0000h
|
:0049C2D7
FF1524124000 Call dword ptr [00401224]
:0049C2DD
8D4DD0 lea ecx,
dword ptr [ebp-30]
*
Reference To: MSVBVM60.__vbaFreeStr, Ord:0000h
|
:0049C2E0 FF15E8124000 Call
dword ptr [004012E8]
:0049C2E6 8D4DC0
lea ecx, dword ptr [ebp-40]
*
Reference To: MSVBVM60.__vbaFreeVar, Ord:0000h
|
:0049C2E9 FF152C104000 Call
dword ptr [0040102C]
:0049C2EF 8B5650
mov edx, dword ptr [esi+50]
:0049C2F2 8B07
mov eax, dword ptr [edi]
:0049C2F4
8D5E50 lea ebx,
dword ptr [esi+50]
:0049C2F7 52
push edx
:0049C2F8 50
push eax
*
Reference To: MSVBVM60.__vbaStrCat, Ord:0000h
|
:0049C2F9 FF1574104000 Call
dword ptr [00401074]
====>把依次循环所得字符连接起来!
:0049C2FF 8BD0 mov edx, eax
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[EAX]内存中的值是上面10次循环运算得出的字符:
0017996C
62 00 64 00 6D 00 31 00 50 00 20 00 79 00 58 00 b.d.m.1.P. .y.X.
0017997C
64 00 32 00
d.2.
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
:0049C301
8D4DD0 lea ecx,
dword ptr [ebp-30]
*
Reference To: MSVBVM60.__vbaStrMove, Ord:0000h
|
:0049C304 FF15A4124000 Call
dword ptr [004012A4]
:0049C30A 8BD0
mov edx, eax
:0049C30C 8BCB
mov ecx, ebx
*
Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
|
:0049C30E FF1524124000 Call
dword ptr [00401224]
:0049C314 8D4DD0
lea ecx, dword ptr [ebp-30]
*
Reference To: MSVBVM60.__vbaFreeStr, Ord:0000h
|
:0049C317 FF15E8124000 Call
dword ptr [004012E8]
*
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049C1EA(C)
|
:0049C31D
668B45D8 mov ax, word ptr
[ebp-28]
:0049C321 66050100
add ax, 0001
:0049C325 0F80A0000000
jo 0049C3CB
:0049C32B 663B4634
cmp ax, word ptr [esi+34]
:0049C32F 8945D8
mov dword ptr [ebp-28], eax
:0049C332
7E07 jle
0049C33B
:0049C334 C745D801000000 mov [ebp-28],
00000001
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:0049C332(C)
*
Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
|
:0049C33B 8B3D24124000 mov
edi, dword ptr [00401224]
:0049C341 B801000000
mov eax, 00000001
:0049C346 660345D4
add ax, word ptr [ebp-2C]
:0049C34A 707F
jo 0049C3CB
:0049C34C
8945D4 mov dword
ptr [ebp-2C], eax
:0049C34F E98CFDFFFF
jmp 0049C0E0
====>大循环,依次得出注册码!
—————————————————————————————————
进入0049C22D Call dword ptr [00401118]
733B45C1
/74 19 JE SHORT MSVBVM60.733B45DC
733B45C3
|50 PUSH EAX
733B45C4
|8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
733B45C7
|8D4400 FF LEA EAX,DWORD PTR DS:[EAX+EAX-1]
733B45CB
|50 PUSH EAX
733B45CC
|FF75 08 PUSH DWORD PTR SS:[EBP+8]
733B45CF
|E8 1E000000 CALL MSVBVM60.rtcMidBstr
733B45D4
|C9 LEAVE
733B45D5 |C2
0C00 RETN 0C
733B45D8
33C9 XOR ECX,ECX
733B45DA
^ EB E2 JMP SHORT MSVBVM60.733B45BE
733B45DC
50 PUSH EAX
733B45DD
66:C745 F0 0300 MOV WORD PTR SS:[EBP-10],3
733B45E3 E8
7A010000 CALL MSVBVM60.733B4762
733B45E8 D1E0
SHL EAX,1
733B45EA 8945 F8
MOV DWORD PTR SS:[EBP-8],EAX
733B45ED 8D45
F0 LEA EAX,DWORD PTR SS:[EBP-10]
733B45F0 ^
EB D1 JMP SHORT MSVBVM60.733B45C3
733B45F2
> 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
733B45F6
53 PUSH EBX
733B45F7
56 PUSH ESI
733B45F8
57 PUSH EDI
733B45F9
8D78 FF LEA EDI,DWORD PTR DS:[EAX-1]
733B45FC
85FF TEST EDI,EDI
733B45FE
0F8C 10330200 JL MSVBVM60.733D7914
733B4604 81FF
FFFFFF7F CMP EDI,7FFFFFFF
733B460A 0F8F 04330200
JG MSVBVM60.733D7914
733B4610 8B4424 10 MOV
EAX,DWORD PTR SS:[ESP+10]
733B4614 8BDF
MOV EBX,EDI
733B4616 85C0
TEST EAX,EAX
733B4618 0F84 FD320200 JE MSVBVM60.733D791B
733B461E
8B70 FC MOV ESI,DWORD PTR DS:[EAX-4]
733B4621
3BFE CMP EDI,ESI
733B4623
0F87 F9320200 JA MSVBVM60.733D7922
733B4629 8B4C24
18 MOV ECX,DWORD PTR SS:[ESP+18]
733B462D 66:8339
0A CMP WORD PTR DS:[ECX],0A
733B4631 75 35
JNZ SHORT MSVBVM60.733B4668
733B4633
8179 08 0400028>CMP DWORD PTR DS:[ECX+8],80020004
733B463A
75 2C JNZ SHORT MSVBVM60.733B4668
733B463C
83C8 FF OR EAX,FFFFFFFF
733B463F
66:85C0 TEST AX,AX
733B4642 74
28 JE SHORT MSVBVM60.733B466C
733B4644
2BF3 SUB ESI,EBX
733B4646
8BC6 MOV EAX,ESI
733B4648
50 PUSH EAX
733B4649
8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
733B464D
03D8 ADD EBX,EAX
733B464F
53 PUSH EBX
733B4650
FF15 EC193973 CALL DWORD PTR DS:[<&OLEAUT32.#150>];
OLEAUT32.SysAllocStringByteLen
733B4656 8BF0
MOV ESI,EAX
733B4658 85F6
TEST ESI,ESI
733B465A 0F84 D0320200
JE MSVBVM60.733D7930
733B4660 8BC6
MOV EAX,ESI
733B4662 5F
POP EDI
733B4663 5E
POP ESI
733B4664 5B
POP EBX
733B4665 C2 0C00
RETN 0C
733B4648
50 PUSH EAX
733B4649
8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
733B464D
03D8 ADD EBX,EAX
733B464F
53 PUSH EBX
733B4650
FF15 EC193973 CALL DWORD PTR DS:[<&OLEAUT32.#150>];
OLEAUT32.SysAllocStringByteLen
733B4656 8BF0
MOV ESI,EAX
733B4658 85F6
TEST ESI,ESI
733B465A 0F84 D0320200
JE MSVBVM60.733D7930
733B4660 8BC6
MOV EAX,ESI
733B4662 5F
POP EDI
733B4663 5E
POP ESI
733B4664 5B
POP EBX
733B4665 C2 0C00
RETN 0C
—————————————————————————————————
【完 美 爆 破】:
1、0048B3FE
0F8460010000 je 0048B564
改为: E96101000090 jmp 0048B564
补一个NOP
2、0048BAEC
1BF6 sbb
esi, esi
改为: 33F6
xor esi, esi
—————————————————————————————————
【注册信息保存】:
C:\WINDOWS\SYSTEM
下的MSEMPXDB.DLL文件,XP的在\WINDOWS\system32下。
呵呵,真够狡猾的呀!我找了半个小时!
—————————————————————————————————
【整 理】:
机器码:5554908250
注册码:bdm1P
yXd2
—————————————————————————————————
, _/
/| _.-~/ \_
, 青春都一饷
( /~
/ \~-._ |\
`\\ _/ \
~\ ) 忍把浮名
_-~~~-.) )__/;;,.
\_ //'
/'_,\ --~
\ ~~~- ,;;\___( (.-~~~-. 换了破解轻狂
`~ _( ,_..--\ ( ,;'' / ~-- /._`\
/~~//'
/' `~\ ) /--.._, )_ `~
"
`~" " `" /~'`\
`\\~~\
" " "~'
""
Cracked By 巢水工作坊——fly [OCN][FCG]
2003-04-19 23:48