注册机~~~~~~~~~~~~~汇编的~~~~~~~ (29千字)
==KeyGen=========================================================附上注册机,将下面第1段代码保存为.rek文件,第2段代码保存为.asm文件,在注册机编写器中的声明里写入include ...\..\???.asm一行,请改为你保存的绝对路径,用注册机编写器编译,注册机编写器1.65测试通过.支持中文名,注意在编译后最好将声明中的东西删掉,不然以后写注册机的时候它找不到.asm文件就会编译不了,但它并不会告诉你到底是那里出错,我曾经碰上以为是源码的问题,改了又改,呵呵~~~~~~~
其实写这个注册机不难,我只是将上面的代码经过处理(文件处理大师和txt2asm很好用呀),再经过修改就搞掂了,刚开始我还担心堆栈的问题,怕结果不正确,谁知改好后一运行,结果是正确的,这全靠程序中的sub esp,??这样的语句,相当于子程序里的宏指令"LOCAL",它会自动为我们的子程序分配空间来保存参数.那为什么我们要分开两个文件来处理呢,因为注册机编写器的作者在它的模块里有这样一句KeyDialogProc proc uses ebx edi esi....我们写的源码就放在这个子程序里,所以如果我们将代码都放在一起且只用简单的Call来调用的话,程序也能运行,但生成的程序在第个子程序后都加了pop esi,pop edi,pop ebx三句,这样一来我们就必须在子程序前加上push,那么我们的堆栈指针就会乱掉,结果可能就不正确了.
做这个注册机最麻烦的是改源码,因为汇编我还不熟,一些语句写得不规范,老是编译不成功,下面我会有些注解,希望初学者能学到一点.
;==从这里开始保存为.rek文件====================================
.data
szHomePage db "http://www.365hz.net",0
szEmail db "mailto:ljyljx@163.com",0
szErrMess db "输入的序列号不正确!",0
szChar db "MobileSearch2",0
DATA1 db 47 dup (0)
db 01h,02h,03h,04h,05h,06h,07h,08h,09h,0Ah
db 0Bh,05h,06h,07h,08h,09h,0Ah,0Bh,0Ch,0Dh
db 0Eh,0Fh,10h,11h,12h,13h,14h,15h,16h,17h
db 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh,20h,21h
db 22h,23h,24h,25h,20h,21h,22h,23h,24h,25h
db 26h,27h,28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh
db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
db 3Ah,3Bh,3Ch,3Dh,3Eh,3Fh,00h,00h,00h,00h,00
DATA2 dd 00000000h,00000010h,20000000h,20000010h
dd 00010000h,00010010h,20010000h,20010010h
dd 00000800h,00000810h,20000800h,20000810h
dd 00010800h,00010810h,20010800h,20010810h
dd 00000020h,00000030h,20000020h,20000030h
dd 00010020h,00010030h,20010020h,20010030h
dd 00000820h,00000830h,20000820h,20000830h
dd 00010820h,00010830h,20010820h,20010830h
dd 00080000h,00080010h,20080000h,20080010h
dd 00090000h,00090010h,20090000h,20090010h
dd 00080800h,00080810h,20080800h,20080810h
dd 00090800h,00090810h,20090800h,20090810h
dd 00080020h,00080030h,20080020h,20080030h
dd 00090020h,00090030h,20090020h,20090030h
dd 00080820h,00080830h,20080820h,20080830h
dd 00090820h,00090830h,20090820h,20090830h
dd 00000000h,02000000h,00002000h,02002000h
dd 00200000h,02200000h,00202000h,02202000h
dd 00000004h,02000004h,00002004h,02002004h
dd 00200004h,02200004h,00202004h,02202004h
dd 00000400h,02000400h,00002400h,02002400h
dd 00200400h,02200400h,00202400h,02202400h
dd 00000404h,02000404h,00002404h,02002404h
dd 00200404h,02200404h,00202404h,02202404h
dd 10000000h,12000000h,10002000h,12002000h
dd 10200000h,12200000h,10202000h,12202000h
dd 10000004h,12000004h,10002004h,12002004h
dd 10200004h,12200004h,10202004h,12202004h
dd 10000400h,12000400h,10002400h,12002400h
dd 10200400h,12200400h,10202400h,12202400h
dd 10000404h,12000404h,10002404h,12002404h
dd 10200404h,12200404h,10202404h,12202404h
dd 00000000h,00000001h,00040000h,00040001h
dd 01000000h,01000001h,01040000h,01040001h
dd 00000002h,00000003h,00040002h,00040003h
dd 01000002h,01000003h,01040002h,01040003h
dd 00000200h,00000201h,00040200h,00040201h
dd 01000200h,01000201h,01040200h,01040201h
dd 00000202h,00000203h,00040202h,00040203h
dd 01000202h,01000203h,01040202h,01040203h
dd 08000000h,08000001h,08040000h,08040001h
dd 09000000h,09000001h,09040000h,09040001h
dd 08000002h,08000003h,08040002h,08040003h
dd 09000002h,09000003h,09040002h,09040003h
dd 08000200h,08000201h,08040200h,08040201h
dd 09000200h,09000201h,09040200h,09040201h
dd 08000202h,08000203h,08040202h,08040203h
dd 09000202h,09000203h,09040202h,09040203h
dd 00000000h,00100000h,00000100h,00100100h
dd 00000008h,00100008h,00000108h,00100108h
dd 00001000h,00101000h,00001100h,00101100h
dd 00001008h,00101008h,00001108h,00101108h
dd 04000000h,04100000h,04000100h,04100100h
dd 04000008h,04100008h,04000108h,04100108h
dd 04001000h,04101000h,04001100h,04101100h
dd 04001008h,04101008h,04001108h,04101108h
dd 00020000h,00120000h,00020100h,00120100h
dd 00020008h,00120008h,00020108h,00120108h
dd 00021000h,00121000h,00021100h,00121100h
dd 00021008h,00121008h,00021108h,00121108h
dd 04020000h,04120000h,04020100h,04120100h
dd 04020008h,04120008h,04020108h,04120108h
dd 04021000h,04121000h,04021100h,04121100h
dd 04021008h,04121008h,04021108h,04121108h
DATA3 dd 00000000h,10000000h,00010000h,10010000h
dd 00000004h,10000004h,00010004h,10010004h
dd 20000000h,30000000h,20010000h,30010000h
dd 20000004h,30000004h,20010004h,30010004h
dd 00100000h,10100000h,00110000h,10110000h
dd 00100004h,10100004h,00110004h,10110004h
dd 20100000h,30100000h,20110000h,30110000h
dd 20100004h,30100004h,20110004h,30110004h
dd 00001000h,10001000h,00011000h,10011000h
dd 00001004h,10001004h,00011004h,10011004h
dd 20001000h,30001000h,20011000h,30011000h
dd 20001004h,30001004h,20011004h,30011004h
dd 00101000h,10101000h,00111000h,10111000h
dd 00101004h,10101004h,00111004h,10111004h
dd 20101000h,30101000h,20111000h,30111000h
dd 20101004h,30101004h,20111004h,30111004h
dd 00000000h,08000000h,00000008h,08000008h
dd 00000400h,08000400h,00000408h,08000408h
dd 00020000h,08020000h,00020008h,08020008h
dd 00020400h,08020400h,00020408h,08020408h
dd 00000001h,08000001h,00000009h,08000009h
dd 00000401h,08000401h,00000409h,08000409h
dd 00020001h,08020001h,00020009h,08020009h
dd 00020401h,08020401h,00020409h,08020409h
dd 02000000h,0A000000h,02000008h,0A000008h
dd 02000400h,0A000400h,02000408h,0A000408h
dd 02020000h,0A020000h,02020008h,0A020008h
dd 02020400h,0A020400h,02020408h,0A020408h
dd 02000001h,0A000001h,02000009h,0A000009h
dd 02000401h,0A000401h,02000409h,0A000409h
dd 02020001h,0A020001h,02020009h,0A020009h
dd 02020401h,0A020401h,02020409h,0A020409h
dd 00000000h,00000100h,00080000h,00080100h
dd 01000000h,01000100h,01080000h,01080100h
dd 00000010h,00000110h,00080010h,00080110h
dd 01000010h,01000110h,01080010h,01080110h
dd 00200000h,00200100h,00280000h,00280100h
dd 01200000h,01200100h,01280000h,01280100h
dd 00200010h,00200110h,00280010h,00280110h
dd 01200010h,01200110h,01280010h,01280110h
dd 00000200h,00000300h,00080200h,00080300h
dd 01000200h,01000300h,01080200h,01080300h
dd 00000210h,00000310h,00080210h,00080310h
dd 01000210h,01000310h,01080210h,01080310h
dd 00200200h,00200300h,00280200h,00280300h
dd 01200200h,01200300h,01280200h,01280300h
dd 00200210h,00200310h,00280210h,00280310h
dd 01200210h,01200310h,01280210h,01280310h
dd 00000000h,04000000h,00040000h,04040000h
dd 00000002h,04000002h,00040002h,04040002h
dd 00002000h,04002000h,00042000h,04042000h
dd 00002002h,04002002h,00042002h,04042002h
dd 00000020h,04000020h,00040020h,04040020h
dd 00000022h,04000022h,00040022h,04040022h
dd 00002020h,04002020h,00042020h,04042020h
dd 00002022h,04002022h,00042022h,04042022h
dd 00000800h,04000800h,00040800h,04040800h
dd 00000802h,04000802h,00040802h,04040802h
dd 00002800h,04002800h,00042800h,04042800h
dd 00002802h,04002802h,00042802h,04042802h
dd 00000820h,04000820h,00040820h,04040820h
dd 00000822h,04000822h,00040822h,04040822h
dd 00002820h,04002820h,00042820h,04042820h
dd 00002822h,04002822h,00042822h,04042822h
DATA4 dd 00820200h,00020000h,80800000h,80820200h
dd 00800000h,80020200h,80020000h,80800000h
dd 80020200h,00820200h,00820000h,80000200h
dd 80800200h,00800000h,00000000h,80020000h
dd 00020000h,80000000h,00800200h,00020200h
dd 80820200h,00820000h,80000200h,00800200h
dd 80000000h,00000200h,00020200h,80820000h
dd 00000200h,80800200h,80820000h,00000000h
dd 00000000h,80820200h,00800200h,80020000h
dd 00820200h,00020000h,80000200h,00800200h
dd 80820000h,00000200h,00020200h,80800000h
dd 80020200h,80000000h,80800000h,00820000h
dd 80820200h,00020200h,00820000h,80800200h
dd 00800000h,80000200h,80020000h,00000000h
dd 00020000h,00800000h,80800200h,00820200h
dd 80000000h,80820000h,00000200h,80020200h
dd 10042004h,00000000h,00042000h,10040000h
dd 10000004h,00002004h,10002000h,00042000h
dd 00002000h,10040004h,00000004h,10002000h
dd 00040004h,10042000h,10040000h,00000004h
dd 00040000h,10002004h,10040004h,00002000h
dd 00042004h,10000000h,00000000h,00040004h
dd 10002004h,00042004h,10042000h,10000004h
dd 10000000h,00040000h,00002004h,10042004h
dd 00040004h,10042000h,10002000h,00042004h
dd 10042004h,00040004h,10000004h,00000000h
dd 10000000h,00002004h,00040000h,10040004h
dd 00002000h,10000000h,00042004h,10002004h
dd 10042000h,00002000h,00000000h,10000004h
dd 00000004h,10042004h,00042000h,10040000h
dd 10040004h,00040000h,00002004h,10002000h
dd 10002004h,00000004h,10040000h,00042000h
dd 41000000h,01010040h,00000040h,41000040h
dd 40010000h,01000000h,41000040h,00010040h
dd 01000040h,00010000h,01010000h,40000000h
dd 41010040h,40000040h,40000000h,41010000h
dd 00000000h,40010000h,01010040h,00000040h
dd 40000040h,41010040h,00010000h,41000000h
dd 41010000h,01000040h,40010040h,01010000h
dd 00010040h,00000000h,01000000h,40010040h
dd 01010040h,00000040h,40000000h,00010000h
dd 40000040h,40010000h,01010000h,41000040h
dd 00000000h,01010040h,00010040h,41010000h
dd 40010000h,01000000h,41010040h,40000000h
dd 40010040h,41000000h,01000000h,41010040h
dd 00010000h,01000040h,41000040h,00010040h
dd 01000040h,00000000h,41010000h,40000040h
dd 41000000h,40010040h,00000040h,01010000h
dd 00100402h,04000400h,00000002h,04100402h
dd 00000000h,04100000h,04000402h,00100002h
dd 04100400h,04000002h,04000000h,00000402h
dd 04000002h,00100402h,00100000h,04000000h
dd 04100002h,00100400h,00000400h,00000002h
dd 00100400h,04000402h,04100000h,00000400h
dd 00000402h,00000000h,00100002h,04100400h
dd 04000400h,04100002h,04100402h,00100000h
dd 04100002h,00000402h,00100000h,04000002h
dd 00100400h,04000400h,00000002h,04100000h
dd 04000402h,00000000h,00000400h,00100002h
dd 00000000h,04100002h,04100400h,00000400h
dd 04000000h,04100402h,00100402h,00100000h
dd 04100402h,00000002h,04000400h,00100402h
dd 00100002h,00100400h,04100000h,04000402h
dd 00000402h,04000000h,04000002h,04100400h
dd 02000000h,00004000h,00000100h,02004108h
dd 02004008h,02000100h,00004108h,02004000h
dd 00004000h,00000008h,02000008h,00004100h
dd 02000108h,02004008h,02004100h,00000000h
dd 00004100h,02000000h,00004008h,00000108h
dd 02000100h,00004108h,00000000h,02000008h
dd 00000008h,02000108h,02004108h,00004008h
dd 02004000h,00000100h,00000108h,02004100h
dd 02004100h,02000108h,00004008h,02004000h
dd 00004000h,00000008h,02000008h,02000100h
dd 02000000h,00004100h,02004108h,00000000h
dd 00004108h,02000000h,00000100h,00004008h
dd 02000108h,00000100h,00000000h,02004108h
dd 02004008h,02004100h,00000108h,00004000h
dd 00004100h,02004008h,02000100h,00000108h
dd 00000008h,00004108h,02004000h,02000008h
dd 20000010h,00080010h,00000000h,20080800h
dd 00080010h,00000800h,20000810h,00080000h
dd 00000810h,20080810h,00080800h,20000000h
dd 20000800h,20000010h,20080000h,00080810h
dd 00080000h,20000810h,20080010h,00000000h
dd 00000800h,00000010h,20080800h,20080010h
dd 20080810h,20080000h,20000000h,00000810h
dd 00000010h,00080800h,00080810h,20000800h
dd 00000810h,20000000h,20000800h,00080810h
dd 20080800h,00080010h,00000000h,20000800h
dd 20000000h,00000800h,20080010h,00080000h
dd 00080010h,20080810h,00080800h,00000010h
dd 20080810h,00080800h,00080000h,20000810h
dd 20000010h,20080000h,00080810h,00000000h
dd 00000800h,20000010h,20000810h,20080800h
dd 20080000h,00000810h,00000010h,20080010h
dd 00001000h,00000080h,00400080h,00400001h
dd 00401081h,00001001h,00001080h,00000000h
dd 00400000h,00400081h,00000081h,00401000h
dd 00000001h,00401080h,00401000h,00000081h
dd 00400081h,00001000h,00001001h,00401081h
dd 00000000h,00400080h,00400001h,00001080h
dd 00401001h,00001081h,00401080h,00000001h
dd 00001081h,00401001h,00000080h,00400000h
dd 00001081h,00401000h,00401001h,00000081h
dd 00001000h,00000080h,00400000h,00401001h
dd 00400081h,00001081h,00001080h,00000000h
dd 00000080h,00400001h,00000001h,00400080h
dd 00000000h,00400081h,00400080h,00001080h
dd 00000081h,00001000h,00401081h,00400000h
dd 00401080h,00000001h,00001001h,00401081h
dd 00400001h,00401080h,00401000h,00001001h
dd 08200020h,08208000h,00008020h,00000000h
dd 08008000h,00200020h,08200000h,08208020h
dd 00000020h,08000000h,00208000h,00008020h
dd 00208020h,08008020h,08000020h,08200000h
dd 00008000h,00208020h,00200020h,08008000h
dd 08208020h,08000020h,00000000h,00208000h
dd 08000000h,00200000h,08008020h,08200020h
dd 00200000h,00008000h,08208000h,00000020h
dd 00200000h,00008000h,08000020h,08208020h
dd 00008020h,08000000h,00000000h,00208000h
dd 08200020h,08008020h,08008000h,00200020h
dd 08208000h,00000020h,00200020h,08008000h
dd 08208020h,00200000h,08200000h,08000020h
dd 00208000h,00008020h,08008020h,08200000h
dd 00000020h,08208000h,00208020h,00000000h
dd 08000000h,08200020h,00008000h,00208020h
DATA5 dd 01010000h,01010101h,01010100h,00010101h
szDATA db "./0123456789ABCDEFGHIJKLMNOPQRST"
db "UVWXYZabcdefghijklmnopqrstuvwxyz",0
szBuffer db 14 dup(0)
.code
;请在声明中加入include ...\..\???.asm
PUSH EAX
MOV BYTE PTR [EBP-77h],0
PUSH OFFSET szChar
PUSH EAX
INVOKE Sub_00401C00
ADD ESP,8
MOV [EBP-6Ch],EAX
PUSH OFFSET szChar
PUSH [EBP-6Ch]
INVOKE Sub_00401C00
LEA EAX,szBuffer
;==从这里开始保存为.asm文件====================================
Sub_00401C00 PROTO ;声明子程序
Sub_00401514 PROTO
Sub_00401825 PROTO
.code
Sub_00401C00 PROC
PUSH EBP
MOV EBP,ESP
ADD ESP,0FFFFFF40h ;记得在前面加0
XOR EAX,EAX
MOV [EBP-14h],EAX
XOR EDX,EDX
MOV [EBP-18h],EDX
LEA ECX,[EBP-38h]
MOV [EBP-3Ch],ECX
MOV EAX,[EBP+0Ch]
CMP BYTE PTR [EAX],00
JNZ Loc_00401C25
MOV DL,41h
JMP SHORT Loc_00401C2A
Loc_00401C25:
MOV ECX,[EBP+0Ch]
MOV DL,BYTE PTR [ECX]
Loc_00401C2A:
MOV szBuffer,BYTE PTR DL
XOR EAX,EAX
MOV AL,DL
MOV [EBP-0Ch],EAX
MOV ECX,[EBP-0Ch]
XOR EAX,EAX
MOV AL,BYTE PTR [ECX+DATA1]
MOV [EBP-14h],EAX
MOV EDX,[EBP+0Ch]
CMP BYTE PTR [EDX+01],00
JNZ Loc_00401C52
MOV CL,41h
JMP SHORT Loc_00401C58
Loc_00401C52:
MOV EAX,[EBP+0Ch]
MOV CL,BYTE PTR [EAX+01]
Loc_00401C58:
MOV szBuffer+1,CL
XOR EAX,EAX
MOV AL,CL
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR EAX,EAX
MOV AL,BYTE PTR [EDX+DATA1]
SHL EAX,04
MOV [EBP-18h],EAX
XOR EDX,EDX
MOV [EBP-04h],EDX
Loc_00401C7B:
MOV ECX,[EBP+08h]
MOV AL,BYTE PTR [ECX]
MOV [EBP-3Dh],AL
INC DWORD PTR [EBP+08h] ;不能写成 INC [EBP+08h]
CMP BYTE PTR [EBP-3Dh],00
JZ Loc_00401CA1
MOV DL,BYTE PTR [EBP-3Dh] ;记得在数字后加上h,不然编译器会出错或结果不正确
ADD EDX,EDX
MOV ECX,[EBP-04h]
MOV [EBP+ECX-2Ch],DL
INC DWORD PTR [EBP-04h]
CMP [EBP-04h],BYTE PTR 08
JC Loc_00401C7B
Loc_00401CA1:
CMP [EBP-04h],BYTE PTR 08
JNC Loc_00401CB8
Loc_00401CA7:
MOV EAX,[EBP-04h]
MOV BYTE PTR [EBP+EAX-2Ch],00
INC DWORD PTR [EBP-04h]
CMP [EBP-04h],BYTE PTR 08
JC Loc_00401CA7
Loc_00401CB8:
LEA EDX,[EBP+0FFFFFF40h]
PUSH EDX
LEA ECX,[EBP-2Ch]
PUSH ECX
INVOKE Sub_00401514
ADD ESP,08
PUSH [EBP-18h]
PUSH [EBP-14h]
LEA EAX,[EBP+0FFFFFF40h]
PUSH EAX
LEA EDX,[EBP-1Ch]
PUSH EDX
LEA ECX,[EBP-20h]
PUSH ECX
INVOKE Sub_00401825
ADD ESP,14h
MOV EAX,[EBP-20h]
MOV [EBP-24h],EAX
MOV DL,BYTE PTR [EBP-24h]
AND DL,0FFh
MOV ECX,[EBP-3Ch]
MOV [ECX],DL
INC DWORD PTR [EBP-3Ch]
MOV EAX,[EBP-24h]
SHR EAX,08 ;请将上页最后一句改成这样
AND AL,0FFh
MOV EDX,[EBP-3Ch]
MOV [EDX],AL
INC DWORD PTR [EBP-3Ch]
MOV ECX,[EBP-24h]
SHR ECX,10h
AND CL,0FFh
MOV EAX,[EBP-3Ch]
MOV [EAX],CL
INC DWORD PTR [EBP-3Ch]
MOV EDX,[EBP-24h]
SHR EDX,18h
AND DL,0FFh
MOV ECX,[EBP-3Ch]
MOV [ECX],DL
INC DWORD PTR [EBP-3Ch]
MOV EAX,[EBP-1Ch]
MOV [EBP-24h],EAX
MOV DL,BYTE PTR [EBP-24h]
AND DL,0FFh
MOV ECX,[EBP-3Ch]
MOV [ECX],DL
INC DWORD PTR [EBP-3Ch]
MOV EAX,[EBP-24h]
SHR EAX,08
AND AL,0FFh
MOV EDX,[EBP-3Ch]
MOV [EDX],AL
INC DWORD PTR [EBP-3Ch]
MOV ECX,[EBP-24h]
SHR ECX,10h
AND CL,0FFh
MOV EAX,[EBP-3Ch]
MOV [EAX],CL
INC DWORD PTR [EBP-3Ch]
MOV EDX,[EBP-24h]
SHR EDX,18h
AND DL,0FFh
MOV ECX,[EBP-3Ch]
MOV [ECX],DL
INC DWORD PTR [EBP-3Ch]
XOR EAX,EAX
MOV [EBP-10h],EAX
MOV BYTE PTR [EBP-3Eh],80h ;把直接数写入内存,必须加入BYTE PTR
MOV BYTE PTR [EBP-30h],00
MOV DWORD PTR [EBP-04h],02
Loc_00401D88:
MOV BYTE PTR [EBP-3Dh],00
XOR EDX,EDX
MOV [EBP-08h],EDX
Loc_00401D91:
SHL BYTE PTR [EBP-3Dh],1
MOV ECX,[EBP-10h]
MOV AL,BYTE PTR [EBP+ECX-38h]
AND AL,[EBP-3Eh]
JZ Loc_00401DA4
OR BYTE PTR [EBP-3Dh],01
Loc_00401DA4:
SHR BYTE PTR [EBP-3Eh],1
CMP BYTE PTR [EBP-3Eh],00
JNZ Loc_00401DB4
INC DWORD PTR [EBP-10h]
MOV BYTE PTR [EBP-3Eh],80h
Loc_00401DB4:
INC DWORD PTR [EBP-08h]
CMP BYTE PTR [EBP-08h],06
JC Loc_00401D91
XOR EDX,EDX
MOV DL,BYTE PTR [EBP-3Dh]
MOV CL,BYTE PTR [EDX+szDATA]
MOV EAX,[EBP-04]
MOV [EAX+szBuffer],BYTE PTR CL
INC DWORD PTR [EBP-04h]
CMP BYTE PTR [EBP-04h],0Dh
JC Loc_00401D88
LEA EAX,szBuffer
MOV ESP,EBP
POP EBP
RET
Sub_00401C00 ENDP
Sub_00401514 PROC
PUSH EBP
MOV EBP,ESP
ADD ESP,-1Ch
MOV EAX,[EBP+0Ch]
MOV [EBP-18h],EAX
MOV EDX,[EBP+08h]
MOV [EBP-14h],EDX
MOV ECX,[EBP-14h]
XOR EAX,EAX
MOV AL,BYTE PTR [ECX]
MOV [EBP-04h],EAX
INC DWORD PTR [EBP-14h]
MOV EDX,[EBP-14h]
XOR ECX,ECX
MOV CL,BYTE PTR [EDX]
SHL ECX,08
OR [EBP-04h],ECX
INC DWORD PTR [EBP-14h]
MOV EAX,[EBP-14h]
XOR EDX,EDX
MOV DL,BYTE PTR [EAX]
SHL EDX,10h
OR [EBP-04h],EDX
INC DWORD PTR [EBP-14h]
MOV ECX,[EBP-14h]
XOR EAX,EAX
MOV AL,BYTE PTR [ECX]
SHL EAX,18h
OR [EBP-04h],EAX
INC DWORD PTR [EBP-14h]
MOV EDX,[EBP-14h]
XOR ECX,ECX
MOV CL,BYTE PTR [EDX]
MOV [EBP-08h],ECX
INC DWORD PTR [EBP-14h]
MOV EAX,[EBP-14h]
XOR EDX,EDX
MOV DL,BYTE PTR [EAX]
SHL EDX,08
OR [EBP-08h],EDX
INC DWORD PTR [EBP-14h]
MOV ECX,[EBP-14h]
XOR EAX,EAX
MOV AL,BYTE PTR [ECX]
SHL EAX,10h
OR [EBP-08h],EAX
INC DWORD PTR [EBP-14h]
MOV EDX,[EBP-14h]
XOR ECX,ECX
MOV CL,BYTE PTR [EDX]
SHL ECX,18h
OR [EBP-08h],ECX
INC DWORD PTR [EBP-14h]
MOV EAX,[EBP-08h]
SHR EAX,04
XOR EAX,[EBP-04h]
AND EAX,0F0F0F0Fh
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-04h],EDX
MOV ECX,[EBP-0Ch]
SHL ECX,04
XOR [EBP-08h],ECX
MOV EAX,[EBP-04h]
SHL EAX,12h
XOR EAX,[EBP-04h]
AND EAX,0CCCC0000h
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-04h]
XOR EDX,[EBP-0Ch]
MOV ECX,[EBP-0Ch]
SHR ECX,12h
XOR EDX,ECX
MOV [EBP-04h],EDX
MOV EAX,[EBP-08h]
SHL EAX,12h
XOR EAX,[EBP-08h]
AND EAX,0CCCC0000h
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-08h]
XOR EDX,[EBP-0Ch]
MOV ECX,[EBP-0Ch]
SHR ECX,12h
XOR EDX,ECX
MOV [EBP-08h],EDX
MOV EAX,[EBP-08h]
SHR EAX,1
XOR EAX,[EBP-04h]
AND EAX,55555555h
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-04h],EDX
MOV ECX,[EBP-0Ch]
ADD ECX,ECX
XOR [EBP-08h],ECX
MOV EAX,[EBP-04h]
SHR EAX,08
XOR EAX,[EBP-08h]
AND EAX,00FF00FFh
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-08h],EDX
MOV ECX,[EBP-0Ch]
SHL ECX,08
XOR [EBP-04h],ECX
MOV EAX,[EBP-08h]
SHR EAX,1
XOR EAX,[EBP-04h]
AND EAX,55555555h
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-04h],EDX
MOV ECX,[EBP-0Ch]
ADD ECX,ECX
XOR [EBP-08h],ECX
MOV EAX,[EBP-08h]
AND EAX,0FFh
SHL EAX,10h
MOV EDX,[EBP-08h]
AND EDX,0FF00h
OR EAX,EDX
MOV ECX,[EBP-08h]
AND ECX,00FF0000h
SHR ECX,10h
OR EAX,ECX
MOV EDX,[EBP-04h]
AND EDX,0F0000000h
SHR EDX,04
OR EAX,EDX
MOV [EBP-08h],EAX
AND [EBP-04h],DWORD PTR 0FFFFFFFh
XOR EAX,EAX
MOV [EBP-1Ch],EAX
Loc_004016A1:
MOV ECX,[EBP-1Ch]
CMP BYTE PTR [ECX+DATA5],00
JZ Loc_004016D1
MOV EAX,[EBP-04h]
SHR EAX,02
MOV EDX,[EBP-04h]
SHL EDX,1Ah
OR EAX,EDX
MOV [EBP-04h],EAX
MOV ECX,[EBP-08h]
SHR ECX,02
MOV EAX,[EBP-08h]
SHL EAX,1Ah
OR ECX,EAX
MOV [EBP-08h],ECX
JMP SHORT Loc_004016F1
Loc_004016D1:
MOV EDX,[EBP-04h]
SHR EDX,1
MOV ECX,[EBP-04h]
SHL ECX,1Bh
OR EDX,ECX
MOV [EBP-04h],EDX
MOV EAX,[EBP-08h]
SHR EAX,1
MOV EDX,[EBP-08h]
SHL EDX,1Bh
OR EAX,EDX
MOV [EBP-08h],EAX
Loc_004016F1:
AND DWORD PTR [EBP-04h],0FFFFFFFh ;必须加DWORD PTR
AND DWORD PTR [EBP-08h],0FFFFFFFh
MOV ECX,[EBP-04h]
SHR ECX,06
AND ECX,03
MOV EAX,[EBP-04h]
SHR EAX,07
AND EAX,3Ch
OR ECX,EAX
MOV EDX,[ECX*4+DATA2+100h]
MOV ECX,[EBP-04h]
AND ECX,3Fh
OR EDX,[ECX*4+DATA2]
MOV EAX,[EBP-04h]
SHR EAX,0Dh
AND EAX,0Fh
MOV ECX,[EBP-04h]
SHR ECX,0Eh
AND ECX,30h
OR EAX,ECX
OR EDX,[EAX*4+DATA2+200h]
MOV EAX,[EBP-04h]
SHR EAX,14h
AND EAX,01
MOV ECX,[EBP-04h]
SHR ECX,15h
AND ECX,06
OR EAX,ECX
MOV ECX,[EBP-04h]
SHR ECX,16h
AND ECX,38h
OR EAX,ECX
OR EDX,[EAX*4+DATA2+300h]
MOV [EBP-10h],EDX
MOV EAX,[EBP-08h]
SHR EAX,07
AND EAX,03
MOV EDX,[EBP-08h]
SHR EDX,08
AND EDX,3Ch
OR EAX,EDX
MOV EAX,[EAX*4+DATA3+100h]
MOV EDX,[EBP-08h]
AND EDX,3Fh
OR EAX,[EDX*4+DATA3]
MOV ECX,[EBP-08h]
SHR ECX,0Fh
AND ECX,3Fh
OR EAX,[ECX*4+DATA3+200h]
MOV EDX,[EBP-08h]
SHR EDX,15h
AND EDX,0Fh
MOV ECX,[EBP-08h]
SHR ECX,16h
AND ECX,30h
OR EDX,ECX
OR EAX,[EDX*4+DATA3+300h]
MOV [EBP-0Ch],EAX
MOV EAX,[EBP-0Ch]
SHL EAX,10h
MOV EDX,[EBP-10h]
AND EDX,0FFFFh
OR EAX,EDX
AND EAX,-01
MOV ECX,[EBP-18h]
MOV [ECX],EAX
ADD [EBP-18h],DWORD PTR 04
MOV EAX,[EBP-10h]
SHR EAX,10h
MOV EDX,[EBP-0Ch]
AND EDX,0FFFF0000h
OR EAX,EDX
MOV [EBP-10h],EAX
MOV EAX,[EBP-10h]
SHL EAX,04
MOV ECX,[EBP-10h]
SHR ECX,1Ch
OR EAX,ECX
MOV [EBP-10h],EAX
MOV EAX,[EBP-10h]
AND EAX,-01
MOV EDX,[EBP-18h]
MOV [EDX],EAX
ADD [EBP-18h],DWORD PTR 04
INC DWORD PTR [EBP-1Ch]
CMP BYTE PTR [EBP-1Ch],10h
JL Loc_004016A1
XOR EAX,EAX
MOV ESP,EBP
POP EBP
RET
Sub_00401514 ENDP
Sub_00401825 PROC
PUSH EBP
MOV EBP,ESP
ADD ESP,-24h
XOR EAX,EAX
MOV [EBP-04h],EAX
XOR EDX,EDX
MOV [EBP-08h],EDX
MOV ECX,[EBP+10h]
MOV [EBP-14h],ECX
MOV EAX,[EBP+14h]
MOV [EBP-20h],EAX
MOV EDX,[EBP+18h]
MOV [EBP-24h],EDX
XOR ECX,ECX
MOV [EBP-1Ch],ECX
Loc_0040184C:
XOR EAX,EAX
MOV [EBP-18h],EAX
Loc_00401851:
MOV EDX,[EBP-08h]
SHR EDX,10h
XOR EDX,[EBP-08h]
MOV [EBP-0Ch],EDX
MOV ECX,[EBP-0Ch]
AND ECX,[EBP-20h]
MOV [EBP-10h],ECX
MOV EAX,[EBP-24h]
AND [EBP-0Ch],EAX
MOV EDX,[EBP-14h]
MOV ECX,[EBP-18h]
MOV EAX,[EDX+ECX*4]
MOV EDX,[EBP-10h]
SHL EDX,10h
XOR EDX,[EBP-10h]
XOR EDX,[EBP-08h]
XOR EAX,EDX
MOV [EBP-10h],EAX
MOV ECX,[EBP-14h]
MOV EAX,[EBP-18h]
MOV EDX,[ECX+EAX*4+04]
MOV ECX,[EBP-0Ch]
SHL ECX,10h
XOR ECX,[EBP-0Ch]
XOR ECX,[EBP-08h]
XOR EDX,ECX
MOV [EBP-0Ch],EDX
MOV EAX,[EBP-0Ch]
SHR EAX,04
MOV EDX,[EBP-0Ch]
SHL EDX,1Ch
OR EAX,EDX
MOV [EBP-0Ch],EAX
MOV ECX,[EBP-0Ch]
AND ECX,3Fh
MOV EAX,[ECX*4+DATA4+100h]
MOV EDX,[EBP-0Ch]
SHR EDX,08
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+300h]
MOV ECX,[EBP-0Ch]
SHR ECX,10h
AND ECX,3Fh
OR EAX,[ECX*4+DATA4+500h]
MOV EDX,[EBP-0Ch]
SHR EDX,18h
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+700h]
MOV ECX,[EBP-10h]
AND ECX,3Fh
OR EAX,[ECX*4+DATA4]
MOV EDX,[EBP-10h]
SHR EDX,08
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+200h]
MOV ECX,[EBP-10h]
SHR ECX,10h
AND ECX,3Fh
OR EAX,[ECX*4+DATA4+400h]
MOV EDX,[EBP-10h]
SHR EDX,18h
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+600h]
XOR [EBP-04h],EAX
MOV EAX,[EBP-04h]
SHR EAX,10h
XOR EAX,[EBP-04h]
MOV [EBP-0Ch],EAX
MOV ECX,[EBP-0Ch]
AND ECX,[EBP-20h]
MOV [EBP-10h],ECX
MOV EAX,[EBP-24h]
AND [EBP-0Ch],DWORD PTR EAX
MOV EDX,[EBP-14h]
MOV ECX,[EBP-18h]
MOV EAX,[EDX+ECX*4+08]
MOV EDX,[EBP-10h]
SHL EDX,10h
XOR EDX,[EBP-10h]
XOR EDX,[EBP-04h]
XOR EAX,EDX
MOV [EBP-10h],EAX
MOV ECX,[EBP-14h]
MOV EAX,[EBP-18h]
MOV EDX,[ECX+EAX*4+0Ch]
MOV ECX,[EBP-0Ch]
SHL ECX,10h
XOR ECX,[EBP-0Ch]
XOR ECX,[EBP-04h]
XOR EDX,ECX
MOV [EBP-0Ch],EDX
MOV EAX,[EBP-0Ch]
SHR EAX,04
MOV EDX,[EBP-0Ch]
SHL EDX,1Ch
OR EAX,EDX
MOV [EBP-0Ch],EAX
MOV ECX,[EBP-0Ch]
AND ECX,3Fh
MOV EAX,[ECX*4+DATA4+100h]
MOV EDX,[EBP-0Ch]
SHR EDX,08
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+300h]
MOV ECX,[EBP-0Ch]
SHR ECX,10h
AND ECX,3Fh
OR EAX,[ECX*4+DATA4+500h]
MOV EDX,[EBP-0Ch]
SHR EDX,18h
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+700h]
MOV ECX,[EBP-10h]
AND ECX,3Fh
OR EAX,[ECX*4+DATA4]
MOV EDX,[EBP-10h]
SHR EDX,08
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+200h]
MOV ECX,[EBP-10h]
SHR ECX,10h
AND ECX,3Fh
OR EAX,[ECX*4+DATA4+400h]
MOV EDX,[EBP-10h]
SHR EDX,18h
AND EDX,3Fh
OR EAX,[EDX*4+DATA4+600h]
XOR [EBP-08h],EAX
ADD [EBP-18h],DWORD PTR 04
CMP [EBP-18h],BYTE PTR 20h
JL Loc_00401851
MOV EAX,[EBP-04h]
MOV [EBP-0Ch],EAX
MOV ECX,[EBP-08h]
MOV [EBP-04h],ECX
MOV EAX,[EBP-0Ch]
MOV [EBP-08h],EAX
INC DWORD PTR [EBP-1Ch]
CMP [EBP-1Ch],BYTE PTR 19h
JL Loc_0040184C
MOV EDX,[EBP-08h]
MOV [EBP-0Ch],EDX
MOV ECX,[EBP-04h]
SHR ECX,1
MOV EAX,[EBP-04h]
SHL EAX,1Fh
OR ECX,EAX
MOV [EBP-08h],ECX
MOV EDX,[EBP-0Ch]
SHR EDX,1
MOV ECX,[EBP-0Ch]
SHL ECX,1Fh
OR EDX,ECX
MOV [EBP-04h],EDX
AND [EBP-04h],BYTE PTR -01
AND [EBP-08h],BYTE PTR -01
MOV EAX,[EBP-08h]
SHR EAX,1
XOR EAX,[EBP-04h]
AND EAX,55555555h
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-04h],EDX
MOV ECX,[EBP-0Ch]
ADD ECX,ECX
XOR [EBP-08h],ECX
MOV EAX,[EBP-04h]
SHR EAX,08
XOR EAX,[EBP-08h]
AND EAX,00FF00FFh
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-08h],EDX
MOV ECX,[EBP-0Ch]
SHL ECX,08
XOR [EBP-04h],ECX
MOV EAX,[EBP-08h]
SHR EAX,02
XOR EAX,[EBP-04h]
AND EAX,33333333h
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-04],EDX
MOV ECX,[EBP-0Ch]
SHL ECX,02
XOR [EBP-08h],ECX
MOV EAX,[EBP-04h]
SHR EAX,10h
XOR EAX,[EBP-08h]
AND EAX,0FFFFh
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-08h],EDX
MOV ECX,[EBP-0Ch]
SHL ECX,10h
XOR [EBP-04h],ECX
MOV EAX,[EBP-08h]
SHR EAX,04
XOR EAX,[EBP-04h]
AND EAX,0F0F0F0Fh
MOV [EBP-0Ch],EAX
MOV EDX,[EBP-0Ch]
XOR [EBP-04h],EDX
MOV ECX,[EBP-0Ch]
SHL ECX,04
XOR [EBP-08h],ECX
MOV EAX,[EBP+08h]
MOV EDX,[EBP-04h]
MOV [EAX],EDX
MOV ECX,[EBP+0Ch]
MOV EAX,[EBP-08h]
MOV [ECX],EAX
XOR EAX,EAX
MOV ESP,EBP
POP EBP
RET
Sub_00401825 ENDP
-=End=-
_/_/_/
_/ _/_/_/ _/_/_/ _/_/
_/_/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/
_/_/_/ _/_/_/ _/ _/ _/
Sam.com
5:10 2002-3-29
