欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

注册机~~~~~~~~~~~~~汇编的~~~~~~~ (29千字)

注册机~~~~~~~~~~~~~汇编的~~~~~~~ (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

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功