Active Ebook Compiler的註冊演算法 (14千字)
[軟體名稱]
ACTIVEBOOK COMPILER 4.01
[下載地址]
http://www.ans2000.com/
感覺上和做成chm沒什麼特別大的區別。無非是變成了exe檔案,變成共享檔案(I hate it!),用
VBScript或者JAVAScript 編輯起來會更容易一點。不過它的Search功能可遠遠不如chm的。不過也算是
一個不錯的東東了。
下面是Active Ebook Compiler的註冊演算法,如有不當指出,請大家指正。
註冊碼分兩部分,和註冊時填入的方式是一樣的。
1. 數字部分,8位
2. 字母部分,9位
數字4-8位的計算需要查表,表的位置在49547C - 4956BB。
字母部分計算完成後會將順序倒轉。
註冊成功後註冊資訊會寫入window目錄下面的asn2000.ini檔案中。
* Referenced by a CALL at Addresses:
|:0041035A , :0041AB95 , :0041FEDA , :00437FE0
|
:0042AD00 81EC00010000 sub esp, 00000100
:0042AD06 53
push ebx
:0042AD07 56
push esi
:0042AD08 8BB4240C010000 mov esi, dword ptr
[esp+0000010C] <--- UserID,5位
:0042AD0F B90A000000 mov ecx,
0000000A <---
A放入ecx
:0042AD14 C744240800000000 mov [esp+08], 00000000
:0042AD1C 6A00
push 00000000
:0042AD1E 8D4601
lea eax, dword ptr [esi+01] <--- nc+1放入eax
:0042AD21 56
push esi
:0042AD22 99
cdq
:0042AD23 F7F9
idiv ecx
<--- eax除以ecx,餘數在edx
:0042AD25 B840420F00 mov eax,
000F4240
:0042AD2A 6A08
push 00000008
:0042AD2C 2BC6
sub eax, esi
<--- F4240 - UserID 放在eax
:0042AD2E 80C230
add dl, 30
:0042AD31 88542414 mov
byte ptr [esp+14], dl <--- 數字部分第1位
:0042AD35 99
cdq
:0042AD36 F7F9
idiv ecx
<--- eax除以ecx,餘數在edx
:0042AD38 8D0476
lea eax, dword ptr [esi+2*esi] <--- 3*UserID放入eax,
:0042AD3B 80C230
add dl, 30
:0042AD3E 88542415 mov
byte ptr [esp+15], dl <--- 數字部分第2位
:0042AD42 99
cdq
:0042AD43 F7F9
idiv ecx
<--- eax除以ecx,餘數在edx
:0042AD45 80C230
add dl, 30
:0042AD48 88542416 mov
byte ptr [esp+16], dl <--- 數字部分第3位
:0042AD4C 8D542414 lea
edx, dword ptr [esp+14]
:0042AD50 52
push edx
:0042AD51 E81AECFFFF call 00429970
<--------計算其餘的數字部分
:0042AD56 6A00
push 00000000
:0042AD58 8D442424 lea
eax, dword ptr [esp+24]
:0042AD5C 6A08
push 00000008
:0042AD5E 50
push eax
:0042AD5F 56
push esi
:0042AD60 E86BEAFFFF call 004297D0
<--------計算字母部分
:0042AD65 8BB42430010000 mov esi, dword ptr
[esp+00000130]
:0042AD6C 83C420
add esp, 00000020
:0042AD6F 8D442408 lea
eax, dword ptr [esp+08]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042AD95(C)
|
:0042AD73 8A10
mov dl, byte ptr [eax]
:0042AD75 8A1E
mov bl, byte ptr [esi]
:0042AD77 8ACA
mov cl, dl
:0042AD79 3AD3
cmp dl, bl
:0042AD7B 752E
jne 0042ADAB
:0042AD7D 84C9
test cl, cl
:0042AD7F 7416
je 0042AD97
:0042AD81 8A5001
mov dl, byte ptr [eax+01]
:0042AD84 8A5E01
mov bl, byte ptr [esi+01]
:0042AD87 8ACA
mov cl, dl
:0042AD89 3AD3
cmp dl, bl
:0042AD8B 751E
jne 0042ADAB
:0042AD8D 83C002
add eax, 00000002
:0042AD90 83C602
add esi, 00000002
:0042AD93 84C9
test cl, cl
:0042AD95 75DC
jne 0042AD73
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042AD7F(C)
|
:0042AD97 33C0
xor eax, eax
:0042AD99 33C9
xor ecx, ecx
:0042AD9B 85C0
test eax, eax
:0042AD9D 0F94C1
sete cl
:0042ADA0 5E
pop esi
:0042ADA1 8BC1
mov eax, ecx
:0042ADA3 5B
pop ebx
:0042ADA4 81C400010000 add esp, 00000100
:0042ADAA C3
ret
-------------------------------------------------------------------------------------
數字部分4-8位的計算:
* Referenced by a CALL at Addresses:
|:0042AD51 , :0042AEB7 , :0042AF87 , :0042B051 , :0042B127
|:0042B1F1 , :0042B308 , :0042B3D1 , :0042B4A7 , :0042B571
|:0042B641 , :0042B7A7 , :0042B877 , :0042B941 , :0042BA14
|:0042BAE7 , :0042BBB1 , :0042BCC8 , :0042BD91 , :0042BE67
|:0042BF31
|
:00429970 8B44240C mov
eax, dword ptr [esp+0C] <----- UserID放入eax
:00429974 2507000080 and eax,
80000007
:00429979 7905
jns 00429980
<----- 正數的話就跳
:0042997B 48
dec eax
:0042997C 83C8F8
or eax, FFFFFFF8
:0042997F 40
inc eax
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00429979(C)
|
:00429980 8B4C2408 mov
ecx, dword ptr [esp+08] <----- 8放入ecx
:00429984 8D14C8
lea edx, dword ptr [eax+8*ecx] <----- eax+8*8放入edx
:00429987 8B442404 mov
eax, dword ptr [esp+04]
:0042998B 80C130
add cl, 30
:0042998E 8D14957C544900 lea edx, dword ptr
[4*edx+0049547C] <---- edx中是表地址
:00429995 884803
mov byte ptr [eax+03], cl <----
數字部分第4位
:00429998 8A0A
mov cl, byte ptr [edx]
<---- 表的內容,送一個位元組進cl
:0042999A 884804
mov byte ptr [eax+04], cl <----
數字部分第5位
:0042999D 8A4A01
mov cl, byte ptr [edx+01]
:004299A0 884805
mov byte ptr [eax+05], cl <----
數字部分第6位
:004299A3 8A4C2410 mov
cl, byte ptr [esp+10]
:004299A7 8A5202
mov dl, byte ptr [edx+02]
:004299AA 80C130
add cl, 30
:004299AD 885006
mov byte ptr [eax+06], dl <----
數字部分第7位
:004299B0 884807
mov byte ptr [eax+07], cl <----
數字部分第8位
:004299B3 8A5004
mov dl, byte ptr [eax+04] <-----------------------------
:004299B6 8A08
mov cl, byte ptr [eax]
<- (5)<->(1),第5位和第1位換位置
:004299B8 8810
mov byte ptr [eax], dl
<-
:004299BA 884804
mov byte ptr [eax+04], cl <-----------------------------
:004299BD 8A5005
mov dl, byte ptr [eax+05] <----
(6)<->(2)
:004299C0 8A4801
mov cl, byte ptr [eax+01]
:004299C3 885001
mov byte ptr [eax+01], dl
:004299C6 884805
mov byte ptr [eax+05], cl
:004299C9 8A5006
mov dl, byte ptr [eax+06] <----
(7)<->(3)
:004299CC 8A4802
mov cl, byte ptr [eax+02]
:004299CF 885002
mov byte ptr [eax+02], dl
:004299D2 884806
mov byte ptr [eax+06], cl
:004299D5 C3
ret
-----------------------------------------------------------------------------------
字母部分計算:
* Referenced by a CALL at Addresses:
|:00429761 , :00429AB0 , :00429C16 , :00429CE6 , :00429DB0
|:00429E86 , :00429F50 , :0042A067 , :0042A130 , :0042A206
|:0042A2D0 , :0042A3A0 , :0042A506 , :0042A5D6 , :0042A6A0
|:0042A773 , :0042A846 , :0042A910 , :0042AA27 , :0042AAF0
|:0042ABC6 , :0042AC90 , :0042AD60 , :0042AEC6 , :0042AF96
|:0042B060 , :0042B136 , :0042B200 , :0042B317 , :0042B3E0
|:0042B4B6 , :0042B580 , :0042B650 , :0042B7B6 , :0042B886
|:0042B950 , :0042BA23 , :0042BAF6 , :0042BBC0 , :0042BCD7
|:0042BDA0 , :0042BE76 , :0042BF40
|
:004297D0 81EC1C010000 sub esp, 0000011C
:004297D6 8B842420010000 mov eax, dword ptr
[esp+00000120]
:004297DD 53
push ebx
:004297DE 56
push esi
:004297DF 57
push edi
:004297E0 50
push eax
:004297E1 8D4C242C lea
ecx, dword ptr [esp+2C]
* Possible StringData Ref from Data Obj ->"%05d"
|
:004297E5 687C594900 push 0049597C
:004297EA 51
push ecx
:004297EB E88E820100 call 00441A7E
:004297F0 8A5C2437 mov
bl, byte ptr [esp+37] <--- UserID字串第(4)位
:004297F4 8A4C2434 mov
cl, byte ptr [esp+34] <--- UserID字串第(1)位
:004297F8 8A542435 mov
dl, byte ptr [esp+35] <--- UserID字串第(2)位
:004297FC 80EB30
sub bl, 30
:004297FF 80E930
sub cl, 30
:00429802 885C242F mov
byte ptr [esp+2F], bl <--- 儲存到esp+2F處,下面用到。
:00429806 8A5C2438 mov
bl, byte ptr [esp+38] <--- UserID字串第(5)位
:0042980A 80C14A
add cl, 4A
:0042980D 8A442436 mov
al, byte ptr [esp+36] <--- UserID字串第(3)位
:00429811 80EB30
sub bl, 30
:00429814 884C2419 mov
byte ptr [esp+19], cl <--- 字母部分第(2)位
:00429818 80EA30
sub dl, 30
:0042981B B15A
mov cl, 5A
:0042981D 885C2430 mov
byte ptr [esp+30], bl <--- 儲存到esp+30處,下面用到。
:00429821 80C34C
add bl, 4C
:00429824 2ACA
sub cl, dl
:00429826 885C2418 mov
byte ptr [esp+18], bl <--- 字母部分第(1)位
:0042982A 8A5C242F mov
bl, byte ptr [esp+2F]
:0042982E 884C241A mov
byte ptr [esp+1A], cl <--- 字母部分第(3)位
:00429832 B158
mov cl, 58
:00429834 2ACB
sub cl, bl
:00429836 2C30
sub al, 30
:00429838 884C241B mov
byte ptr [esp+1B], cl <--- 字母部分第(4)位
:0042983C 8AC8
mov cl, al
:0042983E 80C141
add cl, 41
:00429841 8A5C2430 mov
bl, byte ptr [esp+30]
:00429845 884C241C mov
byte ptr [esp+1C], cl <--- 字母部分第(5)位
:00429849 B153
mov cl, 53
:0042984B 2ACA
sub cl, dl
:0042984D 044B
add al, 4B
:0042984F 884C241D mov
byte ptr [esp+1D], cl <--- 字母部分第(6)位
:00429853 8844241E mov
byte ptr [esp+1E], al <--- 字母部分第(7)位
:00429857 B059
mov al, 59
:00429859 B158
mov cl, 58
:0042985B 2AC3
sub al, bl
:0042985D 2ACA
sub cl, dl
:0042985F 8844241F mov
byte ptr [esp+1F], al <--- 字母部分第(8)位
:00429863 8B842440010000 mov eax, dword ptr
[esp+00000140]
:0042986A 884C2420 mov
byte ptr [esp+20], cl <--- 字母部分第(9)位
:0042986E 8B8C2444010000 mov ecx, dword ptr
[esp+00000144]
:00429875 83C40C
add esp, 0000000C
:00429878 3BC1
cmp eax, ecx
:0042987A C644241500 mov [esp+15],
00
:0042987F 743A
je 004298BB
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004298B9(C)
|
:00429881 85C0
test eax, eax
:00429883 7C1E
jl 004298A3
:00429885 83F808
cmp eax, 00000008
:00429888 7F19
jg 004298A3
:0042988A 85C9
test ecx, ecx
:0042988C 7C15
jl 004298A3
:0042988E 83F908
cmp ecx, 00000008
:00429891 7F10
jg 004298A3
:00429893 8A5C0C0C mov
bl, byte ptr [esp+ecx+0C] <--- 準備將剛才生成的字母的順序倒過來。
:00429897 8A54040C mov
dl, byte ptr [esp+eax+0C]
:0042989B 885C040C mov
byte ptr [esp+eax+0C], bl
:0042989F 88540C0C mov
byte ptr [esp+ecx+0C], dl
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00429883(C), :00429888(C), :0042988C(C), :00429891(C)
|
:004298A3 48
dec eax
:004298A4 41
inc ecx
:004298A5 85C0
test eax, eax
:004298A7 7C12
jl 004298BB
:004298A9 83F808
cmp eax, 00000008
:004298AC 7F0D
jg 004298BB
:004298AE 85C9
test ecx, ecx
:004298B0 7C09
jl 004298BB
:004298B2 83F908
cmp ecx, 00000008
:004298B5 7F04
jg 004298BB
:004298B7 3BC1
cmp eax, ecx
:004298B9 75C6
jne 00429881
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0042987F(C), :004298A7(C), :004298AC(C), :004298B0(C), :004298B5(C)
|
:004298BB 8D7C240C lea
edi, dword ptr [esp+0C]
:004298BF 83C9FF
or ecx, FFFFFFFF
:004298C2 33C0
xor eax, eax
:004298C4 F2
repnz
:004298C5 AE
scasb
:004298C6 F7D1
not ecx
:004298C8 2BF9
sub edi, ecx
:004298CA 8BD1
mov edx, ecx
:004298CC 8BF7
mov esi, edi
:004298CE 8BBC2430010000 mov edi, dword ptr
[esp+00000130]
:004298D5 C1E902
shr ecx, 02
:004298D8 F3
repz
:004298D9 A5
movsd
:004298DA 8BCA
mov ecx, edx
:004298DC 83E103
and ecx, 00000003
:004298DF F3
repz
:004298E0 A4
movsb
:004298E1 5F
pop edi
:004298E2 5E
pop esi
:004298E3 5B
pop ebx
:004298E4 81C41C010000 add esp, 0000011C
:004298EA C3
ret
--------------------------------------------------------------------------------
相關文章
- FolderView 1.7
註冊演算法分析 (14千字)2015-11-15View演算法
- CoolClock V1.02註冊演算法分析 ---OCG (14千字)2015-11-15演算法
- 註冊碼演算法 (2千字)2001-01-14演算法
- 用ollydbg找eBook Edit Pro v3.21的註冊碼2003-02-12
- 《棋隱》的註冊演算法 (19千字)2001-08-26演算法
- EZ MP3 Recorder 1.15 註冊演算法分析 (14千字)2015-11-15演算法
- S-DEMO2 註冊分析 (14千字)2002-06-25
- 註冊PSXVIDEO Ver1.12詳細演算法 (14千字)2001-04-11IDE演算法
- CDSpace Power+註冊演算法 (7千字)2001-07-27演算法
- Personal Antispy 1.14 註冊演算法分析2015-11-15演算法
- 給TAE!的小禮物---對DISKdata v3.3.2註冊演算法的分析 (14千字)2001-07-13演算法
- 重新貼過註冊演算法分析 (16千字)2001-10-23演算法
- Konvertor 3.03的註冊碼演算法模組的分析
(7千字)2015-11-15演算法
- estiprojm 註冊 (12千字)2001-11-08
- EffeTech HTTP Sniffer 3.2註冊演算法分析 (5千字)2002-06-24HTTP演算法
- 有聲有色4.0註冊演算法 一 (11千字)2001-05-01演算法
- Green Tea 2.60註冊碼演算法分析 (3千字)2000-07-17演算法
- SuperCleaner 2.31註冊碼演算法分析 - OCG (13千字)2002-04-02演算法
- Registry Crawler 4.0註冊碼演算法分析 - OCG
(20千字)2002-04-07演算法
- UltraEdit-32
10註冊碼演算法分析 (19千字)2003-05-17演算法
- 完美解除安裝6.0註冊演算法分析 (2千字)2002-02-27演算法
- Directory Scanner v1.5 註冊演算法分析 (6千字)2015-11-15演算法
- MouseStar V3.01註冊演算法分析 (18千字)2015-11-15演算法
- **********.exe註冊碼演算法分析--高手莫笑 (31千字)2015-11-15演算法
- 一個區域網工具的註冊演算法分析
(5千字)2015-11-15演算法
- PC Security 5.1自動註冊(莫名其妙)~~~~~~~~~~~~~ (14千字)2002-01-20
- Diskbase 5.11的破解和註冊演算法(俺是新手) (18千字)2001-05-21演算法
- Screen Demo Maker
V3.0註冊演算法分析 (8千字)2002-09-10演算法
- 盲打之友V2.5破解(包括註冊演算法) (11千字)2001-10-29演算法
- 加密金剛鎖V3.00註冊演算法----(上集) (7千字)2001-11-09加密演算法
- Magic convertor 2.8註冊碼演算法分析
- OCG (9千字)2015-11-15演算法
- 飄雪動畫秀3.02註冊演算法分析!
(11千字)2015-11-15動畫演算法
- APISpy32 2.5的註冊 (7千字)2001-04-01API
- Flash ActionScript Tool 的註冊碼! (22千字)2001-05-04
- FolderView註冊部分的計算 (13千字)2001-05-27View
- 《TxEdit 4.6》的註冊碼破解 (11千字)2001-07-28
- Cleaner 3.2註冊分析 (18千字)2001-12-09
- LanSee 註冊演算法2015-11-15演算法