[软件名称]
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
--------------------------------------------------------------------------------
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>