飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4431|回复: 18

[求助] 学习[PYG]算法分析入门第四课求助

[复制链接]
  • TA的每日心情
    开心
    2023-2-2 10:20
  • 签到天数: 38 天

    [LV.5]常住居民I

    发表于 2009-9-10 16:05:39 | 显示全部楼层 |阅读模式
    飘云老大的[PYG]算法分析入门第四课中的软件私人保险箱已经更新到6.48版(下载地址http://www3.skycn.com/soft/14176.html),按照老大的教程可以提示注册成功。可是工具集里的还原功能不能使用,提示只有注册用户才能使用,而且软件使用15次以后提示过期。自己分析了一下,软件在第一次启动的时候会在系统目录生成一个Mgprend4.dll文件,用记事本打开里面是试用次数15,次数不能改大,因为程序启动时会判断这个值,如果大于15直接跳到过期,出现过期提示的同时会在注册表HKEY_LOCAL_MACHINE\SOFTWARE\FinalVer里建立一个end4的项目,每次程序启动会先检测这个项目,那就直接提示过期。过期后,会提示注册,注册窗口要求填入用户名和注册码,不知道注册码是不是要用用户名参与运算,一直没把这个注册的地方断下来,所以想请各位高手看看这个软件到底该怎么注册?另外,在前面提到的使用工具集里的还原功能提示只有注册用户才能使用,在这里跟踪,发现软件是读取注册表HKEY_CURRENT_USER\Software\SafeBox里面的RegNo项目,而且在试用时我们注册成功时,建立的项目名称是RegNum,尝试把RegNum改成RegNo,可以通过第一步验证,可是第二步通不过(使用这个功能要通过2步验证)。
    困扰自己2天了,实在是找不到好的头绪,不知道怎样才能算是真正的注册,所以发贴请教大家,请大家多指教!代码贴在下面。
    004E8E06  |.  E8 BD25F8FF   call    0046B3C8
    004E8E0B  |.  8BD8          mov     ebx, eax
    004E8E0D  |.  BA 02000080   mov     edx, 80000002
    004E8E12  |.  8BC3          mov     eax, ebx
    004E8E14  |.  E8 4F26F8FF   call    0046B468
    004E8E19  |.  B1 01         mov     cl, 1
    004E8E1B  |.  BA 04924E00   mov     edx, 004E9204                 ;  ASCII"Software\FinalVer"
    004E8E20  |.  8BC3          mov     eax, ebx
    004E8E22  |.  E8 8527F8FF   call    0046B5AC
    004E8E27  |.  BA 20924E00   mov     edx, 004E9220                 ;  ASCII "end4"
    004E8E2C  |.  8BC3          mov     eax, ebx
    004E8E2E  |.  E8 692EF8FF   call    0046BC9C                      ;  判断注册表里是否用end4这个项目
    004E8E33  |.  84C0          test    al, al
    004E8E35  |.  0F85 24030000 jnz     004E915F                      ;  如果用end4这个项目跳向过期
    004E8E3B  |.  8D85 2CFEFFFF lea     eax, dword ptr [ebp-1D4]
    004E8E41  |.  E8 0AD3FFFF   call    004E6150                      ;  获得系统目录
    004E8E46  |.  8D85 2CFEFFFF lea     eax, dword ptr [ebp-1D4]
    004E8E4C  |.  BA 30924E00   mov     edx, 004E9230                 ;  ASCII "\Mgprend4.dll"
    004E8E51  |.  E8 3AC1F1FF   call    00404F90
    004E8E56  |.  8B85 2CFEFFFF mov     eax, dword ptr [ebp-1D4]
    004E8E5C  |.  E8 EB0AF2FF   call    0040994C                      ;  判断系统里是否有Mgprend4.dll这个文件
    004E8E61  |.  84C0          test    al, al
    004E8E63  |.  0F84 8E020000 je      004E90F7                      ;  没有就跳走,然后建立这个文件
    004E8E69  |.  8D85 28FEFFFF lea     eax, dword ptr [ebp-1D8]
    004E8E6F  |.  E8 DCD2FFFF   call    004E6150
    004E8E74  |.  8D85 28FEFFFF lea     eax, dword ptr [ebp-1D8]
    004E8E7A  |.  BA 30924E00   mov     edx, 004E9230                 ;  ASCII "\Mgprend4.dll"
    004E8E7F  |.  E8 0CC1F1FF   call    00404F90
    004E8E84  |.  8B95 28FEFFFF mov     edx, dword ptr [ebp-1D8]
    004E8E8A  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E8E90  |.  E8 4FA1F1FF   call    00402FE4
    004E8E95  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E8E9B  |.  E8 D49EF1FF   call    00402D74
    004E8EA0  |.  E8 739AF1FF   call    00402918
    004E8EA5  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
    004E8EA8  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E8EAE  |.  E8 D5A6F1FF   call    00403588
    004E8EB3  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E8EB9  |.  E8 36A7F1FF   call    004035F4
    004E8EBE  |.  E8 559AF1FF   call    00402918
    004E8EC3  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E8EC9  |.  E8 92A2F1FF   call    00403160
    004E8ECE  |.  E8 459AF1FF   call    00402918
    004E8ED3  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
    004E8ED6  |.  E8 3908F2FF   call    00409714                      ;  上面是读取Mgprend4.dll中的次数
    004E8EDB  |.  8BF8          mov     edi, eax
    004E8EDD  |.  85FF          test    edi, edi                      ;  判断次数是否等于0
    004E8EDF  |.  7E 05         jle     short 004E8EE6                ;  等于0就跳到过期
    004E8EE1  |.  83FF 0F       cmp     edi, 0F                       ;  判断是否大于15
    004E8EE4  |.  7E 73         jle     short 004E8F59                ;  跳走就继续判断是否大于3
    004E8EE6  |>  33C9          xor     ecx, ecx                      ;  不跳走就直接提示过期
    004E8EE8  |.  BA 20924E00   mov     edx, 004E9220                 ;  ASCII "end4"
    004E8EED  |.  8BC3          mov     eax, ebx
    004E8EEF  |.  E8 E42BF8FF   call    0046BAD8
    004E8EF4  |.  33D2          xor     edx, edx
    004E8EF6  |.  8B86 2C030000 mov     eax, dword ptr [esi+32C]
    004E8EFC  |.  8B08          mov     ecx, dword ptr [eax]
    004E8EFE  |.  FF51 64       call    dword ptr [ecx+64]
    004E8F01  |.  B2 01         mov     dl, 1
    004E8F03  |.  8B86 6C030000 mov     eax, dword ptr [esi+36C]
    004E8F09  |.  E8 2EF1F5FF   call    0044803C
    004E8F0E  |.  BA 48924E00   mov     edx, 004E9248
    004E8F13  |.  8B86 78030000 mov     eax, dword ptr [esi+378]
    004E8F19  |.  E8 7620FBFF   call    0049AF94
    004E8F1E  |.  BA 58924E00   mov     edx, 004E9258
    004E8F23  |.  8B86 74030000 mov     eax, dword ptr [esi+374]
    004E8F29  |.  E8 1EF2F5FF   call    0044814C
    004E8F2E  |.  6A 01         push    1
    004E8F30  |.  68 84924E00   push    004E9284
    004E8F35  |.  68 84924E00   push    004E9284
    004E8F3A  |.  68 88924E00   push    004E9288                      ;  ASCII
    "http://www.sharebank.com.cn/soft/softbuy.php?soid=10816"
    004E8F3F  |.  68 C0924E00   push    004E92C0                      ;  ASCII "Open"
    004E8F44  |.  A1 68DE4E00   mov     eax, dword ptr [4EDE68]
    004E8F49  |.  E8 DA58F6FF   call    0044E828
    004E8F4E  |.  50            push    eax                           ; |hWnd
    004E8F4F  |.  E8 34F7F4FF   call    <jmp.&shell32.ShellExecuteA>  ; \ShellExecuteA
    004E8F54  |.  E9 6D020000   jmp     004E91C6
    004E8F59  |>  83FF 04       cmp     edi, 4                        ;  判断是否大于3,小于3会提示试用剩余次数
    004E8F5C  |.  0F8F 0A010000 jg      004E906C                      ;  没跳
    004E8F62  |.  33D2          xor     edx, edx
    004E8F64  |.  8B86 2C030000 mov     eax, dword ptr [esi+32C]
    004E8F6A  |.  8B08          mov     ecx, dword ptr [eax]
    004E8F6C  |.  FF51 64       call    dword ptr [ecx+64]
    004E8F6F  |.  B2 01         mov     dl, 1
    004E8F71  |.  8B86 6C030000 mov     eax, dword ptr [esi+36C]
    004E8F77  |.  E8 C0F0F5FF   call    0044803C
    004E8F7C  |.  68 D0924E00   push    004E92D0                      ;  您还能再使用几次,几<3
    004E8F81  |.  8D95 20FEFFFF lea     edx, dword ptr [ebp-1E0]
    004E8F87  |.  8BC7          mov     eax, edi
    004E8F89  |.  48            dec     eax
    004E8F8A  |.  E8 E506F2FF   call    00409674
    004E8F8F  |.  FFB5 20FEFFFF push    dword ptr [ebp-1E0]
    004E8F95  |.  68 E8924E00   push    004E92E8
    004E8F9A  |.  8D85 24FEFFFF lea     eax, dword ptr [ebp-1DC]
    004E8FA0  |.  BA 03000000   mov     edx, 3
    004E8FA5  |.  E8 9EC0F1FF   call    00405048
    004E8FAA  |.  8B95 24FEFFFF mov     edx, dword ptr [ebp-1DC]
    004E8FB0  |.  8B86 74030000 mov     eax, dword ptr [esi+374]
    004E8FB6  |.  E8 91F1F5FF   call    0044814C
    004E8FBB  |.  6A 01         push    1
    004E8FBD  |.  68 84924E00   push    004E9284
    004E8FC2  |.  68 84924E00   push    004E9284
    004E8FC7  |.  68 88924E00   push    004E9288                      ;  ASCII"http://www.sharebank.com.cn/soft/softbuy.php?soid=10816"
    004E8FCC  |.  68 C0924E00   push    004E92C0                      ;  ASCII "Open"
    004E8FD1  |.  A1 68DE4E00   mov     eax, dword ptr [4EDE68]
    004E8FD6  |.  E8 4D58F6FF   call    0044E828
    004E8FDB  |.  50            push    eax                           ; |hWnd
    004E8FDC  |.  E8 A7F6F4FF   call    <jmp.&shell32.ShellExecuteA>  ; \ShellExecuteA
    004E8FE1  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
    004E8FE4  |.  E8 2B07F2FF   call    00409714
    004E8FE9  |.  48            dec     eax
    004E8FEA  |.  8D95 1CFEFFFF lea     edx, dword ptr [ebp-1E4]
    004E8FF0  |.  E8 7F06F2FF   call    00409674
    004E8FF5  |.  8B95 1CFEFFFF mov     edx, dword ptr [ebp-1E4]
    004E8FFB  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    004E8FFE  |.  E8 65BDF1FF   call    00404D68
    004E9003  |.  8D85 18FEFFFF lea     eax, dword ptr [ebp-1E8]
    004E9009  |.  E8 42D1FFFF   call    004E6150
    004E900E  |.  8D85 18FEFFFF lea     eax, dword ptr [ebp-1E8]
    004E9014  |.  BA 30924E00   mov     edx, 004E9230                 ;  ASCII "\Mgprend4.dll"
    004E9019  |.  E8 72BFF1FF   call    00404F90
    004E901E  |.  8B95 18FEFFFF mov     edx, dword ptr [ebp-1E8]
    004E9024  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E902A  |.  E8 B59FF1FF   call    00402FE4
    004E902F  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E9035  |.  E8 469DF1FF   call    00402D80
    004E903A  |.  E8 D998F1FF   call    00402918
    004E903F  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
    004E9042  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E9048  |.  E8 4FC3F1FF   call    0040539C
    004E904D  |.  E8 5EA9F1FF   call    004039B0
    004E9052  |.  E8 C198F1FF   call    00402918
    004E9057  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E905D  |.  E8 FEA0F1FF   call    00403160
    004E9062  |.  E8 B198F1FF   call    00402918
    004E9067  |.  E9 5A010000   jmp     004E91C6
    004E906C  |>  8B45 FC       mov     eax, dword ptr [ebp-4]
    004E906F  |.  E8 A006F2FF   call    00409714
    004E9074  |.  48            dec     eax
    004E9075  |.  8D95 14FEFFFF lea     edx, dword ptr [ebp-1EC]
    004E907B  |.  E8 F405F2FF   call    00409674
    004E9080  |.  8B95 14FEFFFF mov     edx, dword ptr [ebp-1EC]
    004E9086  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    004E9089  |.  E8 DABCF1FF   call    00404D68
    004E908E  |.  8D85 10FEFFFF lea     eax, dword ptr [ebp-1F0]
    004E9094  |.  E8 B7D0FFFF   call    004E6150
    004E9099  |.  8D85 10FEFFFF lea     eax, dword ptr [ebp-1F0]
    004E909F  |.  BA 30924E00   mov     edx, 004E9230                 ;  ASCII "\Mgprend4.dll"
    004E90A4  |.  E8 E7BEF1FF   call    00404F90
    004E90A9  |.  8B95 10FEFFFF mov     edx, dword ptr [ebp-1F0]
    004E90AF  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E90B5  |.  E8 2A9FF1FF   call    00402FE4
    004E90BA  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E90C0  |.  E8 BB9CF1FF   call    00402D80
    004E90C5  |.  E8 4E98F1FF   call    00402918
    004E90CA  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
    004E90CD  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E90D3  |.  E8 C4C2F1FF   call    0040539C
    004E90D8  |.  E8 D3A8F1FF   call    004039B0
    004E90DD  |.  E8 3698F1FF   call    00402918
    004E90E2  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E90E8  |.  E8 73A0F1FF   call    00403160
    004E90ED  |.  E8 2698F1FF   call    00402918
    004E90F2  |.  E9 C8000000   jmp     004E91BF
    004E90F7  |>  8D85 0CFEFFFF lea     eax, dword ptr [ebp-1F4]      ;  从004E8E63跳过来的
    004E90FD  |.  E8 4ED0FFFF   call    004E6150                      ;  下面就是建立Mgprend4.dll这个文件的过程
    004E9102  |.  8D85 0CFEFFFF lea     eax, dword ptr [ebp-1F4]
    004E9108  |.  BA 30924E00   mov     edx, 004E9230                 ;  ASCII "\Mgprend4.dll"
    004E910D  |.  E8 7EBEF1FF   call    00404F90
    004E9112  |.  8B95 0CFEFFFF mov     edx, dword ptr [ebp-1F4]
    004E9118  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E911E  |.  E8 C19EF1FF   call    00402FE4
    004E9123  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E9129  |.  E8 529CF1FF   call    00402D80
    004E912E  |.  E8 E597F1FF   call    00402918
    004E9133  |.  BA 44934E00   mov     edx, 004E9344                 ;  ASCII "15"
    004E9138  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E913E  |.  E8 59C2F1FF   call    0040539C                      ;  这里是写入试用次数15
    004E9143  |.  E8 68A8F1FF   call    004039B0
    004E9148  |.  E8 CB97F1FF   call    00402918
    004E914D  |.  8D85 30FEFFFF lea     eax, dword ptr [ebp-1D0]
    004E9153  |.  E8 08A0F1FF   call    00403160
    004E9158  |.  E8 BB97F1FF   call    00402918
    004E915D  |.  EB 60         jmp     short 004E91BF
    004E915F  |>  33D2          xor     edx, edx
    004E9161  |.  8B86 2C030000 mov     eax, dword ptr [esi+32C]


    另外使用工具集里的还原功能,会用2次验证,代码如下:
    004E3DE1  |.  8BC6          mov     eax, esi
    004E3DE3  |.  E8 8076F8FF   call    0046B468
    004E3DE8  |.  B1 01         mov     cl, 1
    004E3DEA  |.  BA 34424E00   mov     edx, 004E4234                 ;  ASCII "Software\SafeBox"
    004E3DEF  |.  8BC6          mov     eax, esi
    004E3DF1  |.  E8 B677F8FF   call    0046B5AC
    004E3DF6  |.  BA 50424E00   mov     edx, 004E4250                 ;  ASCII "RegNo"
    004E3DFB  |.  8BC6          mov     eax, esi                      ;  上面是读取注册表
    004E3DFD  |.  E8 9A7EF8FF   call    0046BC9C                      ;  第一次验证
    004E3E02  |.  84C0          test    al, al
    004E3E04  |.  75 24         jnz     short 004E3E2A                ;  通过验证就跳走
    004E3E06  |.  8BC6          mov     eax, esi
    004E3E08  |.  E8 3701F2FF   call    00403F44
    004E3E0D  |.  6A 00         push    0
    004E3E0F  |.  B9 58424E00   mov     ecx, 004E4258
    004E3E14  |.  BA 64424E00   mov     edx, 004E4264                 ;  本功能仅限注册用户使用!
    004E3E19  |.  A1 C0CD4E00   mov     eax, dword ptr [4ECDC0]
    004E3E1E  |.  8B00          mov     eax, dword ptr [eax]
    004E3E20  |.  E8 5751F8FF   call    00468F7C
    004E3E25  |.  E9 BB030000   jmp     004E41E5
    004E3E2A  |>  8D4D F8       lea     ecx, dword ptr [ebp-8]
    004E3E2D  |.  BA 50424E00   mov     edx, 004E4250                 ;  ASCII "RegNo"
    004E3E32  |.  8BC6          mov     eax, esi
    004E3E34  |.  E8 CB7CF8FF   call    0046BB04                      ;  再一次读取注册表
    004E3E39  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
    004E3E3C  |.  50            push    eax
    004E3E3D  |.  6A 03         push    3
    004E3E3F  |.  8D45 EC       lea     eax, dword ptr [ebp-14]
    004E3E42  |.  50            push    eax
    004E3E43  |.  B9 02000000   mov     ecx, 2
    004E3E48  |.  BA 01000000   mov     edx, 1
    004E3E4D  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
    004E3E50  |.  E8 7FBDFEFF   call    004CFBD4
    004E3E55  |.  8B45 EC       mov     eax, dword ptr [ebp-14]
    004E3E58  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
    004E3E5B  |.  BA 03000000   mov     edx, 3
    004E3E60  |.  E8 AFDCF5FF   call    00441B14
    004E3E65  |.  FF75 F0       push    dword ptr [ebp-10]
    004E3E68  |.  6A 03         push    3
    004E3E6A  |.  8D45 E4       lea     eax, dword ptr [ebp-1C]
    004E3E6D  |.  50            push    eax
    004E3E6E  |.  B9 02000000   mov     ecx, 2
    004E3E73  |.  BA 01000000   mov     edx, 1
    004E3E78  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
    004E3E7B  |.  E8 F8BDFEFF   call    004CFC78
    004E3E80  |.  8B45 E4       mov     eax, dword ptr [ebp-1C]
    004E3E83  |.  8D4D E8       lea     ecx, dword ptr [ebp-18]
    004E3E86  |.  BA 03000000   mov     edx, 3
    004E3E8B  |.  E8 A0DCF5FF   call    00441B30
    004E3E90  |.  FF75 E8       push    dword ptr [ebp-18]
    004E3E93  |.  8D45 E0       lea     eax, dword ptr [ebp-20]
    004E3E96  |.  50            push    eax
    004E3E97  |.  6A 03         push    3
    004E3E99  |.  8D45 DC       lea     eax, dword ptr [ebp-24]
    004E3E9C  |.  50            push    eax
    004E3E9D  |.  B9 02000000   mov     ecx, 2
    004E3EA2  |.  BA 01000000   mov     edx, 1
    004E3EA7  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
    004E3EAA  |.  E8 25BDFEFF   call    004CFBD4
    004E3EAF  |.  8B45 DC       mov     eax, dword ptr [ebp-24]
    004E3EB2  |.  B9 02000000   mov     ecx, 2
    004E3EB7  |.  BA 03000000   mov     edx, 3
    004E3EBC  |.  E8 93DCF5FF   call    00441B54
    004E3EC1  |.  FF75 E0       push    dword ptr [ebp-20]
    004E3EC4  |.  8D45 F4       lea     eax, dword ptr [ebp-C]
    004E3EC7  |.  BA 03000000   mov     edx, 3
    004E3ECC  |.  E8 7711F2FF   call    00405048
    004E3ED1  |.  8B55 F4       mov     edx, dword ptr [ebp-C]
    004E3ED4  |.  58            pop     eax
    004E3ED5  |.  E8 F211F2FF   call    004050CC                      ;  第二次验证
    004E3EDA  |.  74 24         je      short 004E3F00                ;  通过就跳走
    004E3EDC  |.  8BC6          mov     eax, esi
    004E3EDE  |.  E8 6100F2FF   call    00403F44
    004E3EE3  |.  6A 00         push    0
    004E3EE5  |.  B9 58424E00   mov     ecx, 004E4258
    004E3EEA  |.  BA 64424E00   mov     edx, 004E4264                 ;  本功能仅限注册用户使用!
    004E3EEF  |.  A1 C0CD4E00   mov     eax, dword ptr [4ECDC0]
    004E3EF4  |.  8B00          mov     eax, dword ptr [eax]
    004E3EF6  |.  E8 8150F8FF   call    00468F7C
    004E3EFB  |.  E9 E5020000   jmp     004E41E5
    004E3F00  |>  8D55 D4       lea     edx, dword ptr [ebp-2C]
    004E3F03  |.  8B83 E8030000 mov     eax, dword ptr [ebx+3E8]

    [ 本帖最后由 2005ljb 于 2009-9-10 16:09 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-2-2 10:20
  • 签到天数: 38 天

    [LV.5]常住居民I

     楼主| 发表于 2009-9-10 22:30:56 | 显示全部楼层
    没人来指教一下么?还是大家都不在?
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-25 13:07
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2009-9-28 18:00:26 | 显示全部楼层
    004E3ED5  |.  E8 F211F2FF   call    004050CC                      ;  第二次验证 进这个里面看看 是什么意思
    004E3EDA  |.  74 24         je      short 004E3F00                ;  通过就跳走  判断这个跳了没有啊
    004E3EDC  |.  8BC6          mov     eax, esi
    004E3EDE  |.  E8 6100F2FF   call    00403F44
    004E3EE3  |.  6A 00         push    0
    004E3EE5  |.  B9 58424E00   mov     ecx, 004E4258
    004E3EEA  |.  BA 64424E00   mov     edx, 004E4264                 ;  本功能仅限注册用户使用!
    004E3EEF  |.  A1 C0CD4E00   mov     eax, dword ptr [4ECDC0]
    004E3EF4  |.  8B00          mov     eax, dword ptr [eax]
    004E3EF6  |.  E8 8150F8FF   call    00468F7C
    004E3EFB  |.  E9 E5020000   jmp     004E41E5
    004E3F00  |>  8D55 D4       lea     edx, dword ptr [ebp-2C]
    004E3F03  |.  8B83 E8030000 mov     eax, dword ptr [ebx+3E8]
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2009-9-29 14:13:48 | 显示全部楼层
    004E3DBA  |.  55            PUSH EBP
    004E3DBB  |.  68 1D424E00   PUSH _UnPacke.004E421D
    004E3DC0  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004E3DC3  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004E3DC6  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    004E3DC9  |.  E8 2EBDFEFF   CALL _UnPacke.004CFAFC
    004E3DCE  |.  B2 01         MOV DL,1
    004E3DD0  |.  A1 C8B24600   MOV EAX,DWORD PTR DS:[46B2C8]
    004E3DD5  |.  E8 EE75F8FF   CALL _UnPacke.0046B3C8
    004E3DDA  |.  8BF0          MOV ESI,EAX
    004E3DDC  |.  BA 01000080   MOV EDX,80000001
    004E3DE1  |.  8BC6          MOV EAX,ESI
    004E3DE3  |.  E8 8076F8FF   CALL _UnPacke.0046B468
    004E3DE8  |.  B1 01         MOV CL,1
    004E3DEA  |.  BA 34424E00   MOV EDX,_UnPacke.004E4234                ;  Software\SafeBox
    004E3DEF  |.  8BC6          MOV EAX,ESI
    004E3DF1  |.  E8 B677F8FF   CALL _UnPacke.0046B5AC
    004E3DF6  |.  BA 50424E00   MOV EDX,_UnPacke.004E4250                ;  RegNo
    004E3DFB  |.  8BC6          MOV EAX,ESI
    004E3DFD  |.  E8 9A7EF8FF   CALL _UnPacke.0046BC9C
    004E3E02  |.  84C0          TEST AL,AL
    004E3E04  |.  75 24         JNZ SHORT _UnPacke.004E3E2A
    004E3E06  |.  8BC6          MOV EAX,ESI
    004E3E08  |.  E8 3701F2FF   CALL _UnPacke.00403F44
    004E3E0D  |.  6A 00         PUSH 0
    004E3E0F  |.  B9 58424E00   MOV ECX,_UnPacke.004E4258                ;  私人保险箱
    004E3E14  |.  BA 64424E00   MOV EDX,_UnPacke.004E4264                ;  本功能仅限注册用户使用!
    004E3E19  |.  A1 C0CD4E00   MOV EAX,DWORD PTR DS:[4ECDC0]
    004E3E1E  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    004E3E20  |.  E8 5751F8FF   CALL _UnPacke.00468F7C
    004E3E25  |.  E9 BB030000   JMP _UnPacke.004E41E5
    004E3E2A  |>  8D4D F8       LEA ECX,DWORD PTR SS:[EBP-8]
    004E3E2D  |.  BA 50424E00   MOV EDX,_UnPacke.004E4250                ;  RegNo
    004E3E32  |.  8BC6          MOV EAX,ESI
    004E3E34  |.  E8 CB7CF8FF   CALL _UnPacke.0046BB04
    004E3E39  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    004E3E3C  |.  50            PUSH EAX
    004E3E3D  |.  6A 03         PUSH 3
    004E3E3F  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    004E3E42  |.  50            PUSH EAX
    004E3E43  |.  B9 02000000   MOV ECX,2
    004E3E48  |.  BA 01000000   MOV EDX,1
    004E3E4D  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004E3E50  |.  E8 7FBDFEFF   CALL _UnPacke.004CFBD4
    004E3E55  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]
    004E3E58  |.  8D4D F0       LEA ECX,DWORD PTR SS:[EBP-10]
    004E3E5B  |.  BA 03000000   MOV EDX,3
    004E3E60  |.  E8 AFDCF5FF   CALL _UnPacke.00441B14
    004E3E65  |.  FF75 F0       PUSH DWORD PTR SS:[EBP-10]
    004E3E68  |.  6A 03         PUSH 3
    004E3E6A  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    004E3E6D  |.  50            PUSH EAX
    004E3E6E  |.  B9 02000000   MOV ECX,2
    004E3E73  |.  BA 01000000   MOV EDX,1
    004E3E78  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004E3E7B  |.  E8 F8BDFEFF   CALL _UnPacke.004CFC78
    004E3E80  |.  8B45 E4       MOV EAX,DWORD PTR SS:[EBP-1C]
    004E3E83  |.  8D4D E8       LEA ECX,DWORD PTR SS:[EBP-18]
    004E3E86  |.  BA 03000000   MOV EDX,3
    004E3E8B  |.  E8 A0DCF5FF   CALL _UnPacke.00441B30
    004E3E90  |.  FF75 E8       PUSH DWORD PTR SS:[EBP-18]
    004E3E93  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    004E3E96  |.  50            PUSH EAX
    004E3E97  |.  6A 03         PUSH 3
    004E3E99  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
    004E3E9C  |.  50            PUSH EAX
    004E3E9D  |.  B9 02000000   MOV ECX,2
    004E3EA2  |.  BA 01000000   MOV EDX,1
    004E3EA7  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004E3EAA  |.  E8 25BDFEFF   CALL _UnPacke.004CFBD4
    004E3EAF  |.  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]            ; |真码ASCII "079@@O]p",本人的机器码是:ASCII "078BFBFF"
    004E3EB2  |.  B9 02000000   MOV ECX,2                                ; |注意ECX=2
    004E3EB7  |.  BA 03000000   MOV EDX,3                                ; |注意EDX=3
    004E3EBC  |.  E8 93DCF5FF   CALL _UnPacke.00441B54                   ; \_UnPacke.00441B54
    004E3EC1  |.  FF75 E0       PUSH DWORD PTR SS:[EBP-20]               ;  第三位起,取2位即"9@"
    004E3EC4  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    004E3EC7  |.  BA 03000000   MOV EDX,3
    004E3ECC  |.  E8 7711F2FF   CALL _UnPacke.00405048
    004E3ED1  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  把这两位码移到最后成了另一组码:ASCII "07@O]p9@",,写在RegNo里,就成功。
    004E3ED4  |.  58            POP EAX
    004E3ED5  |.  E8 F211F2FF   CALL _UnPacke.004050CC
    004E3EDA  |.  74 24         JE SHORT _UnPacke.004E3F00
    004E3EDC  |.  8BC6          MOV EAX,ESI
    004E3EDE  |.  E8 6100F2FF   CALL _UnPacke.00403F44
    004E3EE3  |.  6A 00         PUSH 0
    004E3EE5  |.  B9 58424E00   MOV ECX,_UnPacke.004E4258                ;  私人保险箱
    004E3EEA  |.  BA 64424E00   MOV EDX,_UnPacke.004E4264                ;  本功能仅限注册用户使用!
    软件的限制相对比较多,没深入再分析。
    根据程序一段算法代码段,我用KeyMake写了一个算法注册机,供大家交流,引用请保存内容完整性:

    数据段:
    1. szHomePage db "https://www.chinapyg.com/",0
    2. szEmail    db "mailto:XxX@XXX.X",0
    3. szErrMess  db "输入的序列号不正确!",0
    4. hKey db 8 dup(0)
    5. ;Code By WildCatIII 20090929
    6. ;KeyGen For 私人保险箱 6.48
    复制代码
    代码段:
    1. MOV [EBP-4],EAX;预存机器码到[EBP-4]中
    2. MOV EBX,EAX
    3. invoke lstrlen,EBX;取得机器码的位数
    4. MOV EDX,1;同004E4B2F,接着进入算法CALL
    5. MOV ESI,EDX
    6. CMP EAX,8 ;机器码位数检测,是否为8位
    7. JNZ Err;位数不对,跳错。
    8. XOR EBX,EBX
    9. MOV BYTE PTR SS:[EBP-9],AL;位数放[EBP-9]同004CFC0E
    10. MOV BL,1
    11. MOV DWORD PTR SS:[EBP-10H],0;初始[EBP-10]为0,加H表示16进制
    12. MOV DWORD PTR SS:[EBP-8],2
    13. MOV DWORD PTR SS:[EBP+0CH],3
    14. MOV EDI,1 ;初始EDI,做为hKey存放注册码的指针用
    15. ;以下照抄004CFC16-004CFC26代码段
    16. AT004CFC13:
    17. LEA EAX,DWORD PTR SS:[EBP-10H]
    18. XOR EDX,EDX                             ;  EDX清零
    19. MOV DL,BL                               ;  计数放DL
    20. MOV ECX,DWORD PTR SS:[EBP-4]            ;  机器码
    21. MOV DL,BYTE PTR DS:[ECX+EDX-1]          ;  逐位取
    22. MOV ECX,ESI                             ;  ECX=ESI
    23. SHR ECX,8                               ;  ECX右移8位
    24. XOR DL,CL                               ;  DL与CL异或,结果设为Str1
    25. MOV BYTE PTR [hKey+EDI-1],DL            ;  把它逐个放到hKey里,最终成为注册码
    26. INC EDI                                 ;  EDI指针+1,指向下一位存放位置
    27. XOR EAX,EAX                             ;  XOR EAX
    28. MOV AL,DL                               ;  AL=DL
    29. ADD ESI,EAX                             ;  ESI+EAX,当前位数加上Str1,设为Str2
    30. IMUL ESI,DWORD PTR SS:[EBP-8]           ;  Str2乘以定值2
    31. ADD ESI,DWORD PTR SS:[EBP+0CH]          ;  再加上定值3,结果设为Str3,以备循环使用
    32. INC EBX                                 ;  EBX+1
    33. DEC BYTE PTR SS:[EBP-9]                 ;  位数-1,指向下一位机器码
    34. JNZ AT004CFC13             ;  重复
    35. LEA EAX,hKey ; 由EAX指向注册码hKey
    36. JMP Show
    37. Err:
    38. LEA EAX,szErrMess ;机器码位数不对,由EAX指向错误提示
    39. Show:
    40. NOP ;
    复制代码
    screenshot.gif

    [ 本帖最后由 野猫III 于 2009-9-29 15:02 编辑 ]

    KeyGen For 私人保险箱 6.48.rar

    21.96 KB, 下载次数: 7, 下载积分: 飘云币 -2 枚

    售价: 1 枚飘云币  [记录]

    源码与KeyGen

    评分

    参与人数 1飘云币 +60 收起 理由
    Luckly + 60 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2009-9-29 15:29:42 | 显示全部楼层
    猫老师又出来了哈,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-9-29 15:43:54 | 显示全部楼层
    猫兄很强大  膜拜已久啊
    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2009-9-29 17:39:39 | 显示全部楼层
    猫闭关这么久该出来晒晒太阳了,呵
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-25 13:07
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2009-9-29 20:40:14 | 显示全部楼层
    就是强大/:010
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-9-30 16:53:38 | 显示全部楼层
    猫兄出山了吧
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-2-2 10:20
  • 签到天数: 38 天

    [LV.5]常住居民I

     楼主| 发表于 2009-10-10 20:36:33 | 显示全部楼层
    感谢猫老大的指点,不过有点小问题,就是在功能限制的第2次验证那里,不是把3,4位简单的移到最后,是先取前3位,然后把3,4位移到最后,再把第5位删除,最后把前3位放在最前面,这样才能通过验证。我的机器码是178BFBFF,注册码是179@@O]q,通过那个验证的注册码是
    179O]q9@。我不确定软件是否完全按照我上面的步骤来得到最后的注册码的,因为看到先取了前3位,后来又看到了明码,所以这样推测,删除第5位这一步没跟出来,功力有限。。。。
        非常感谢猫老大用keymake写注册机的教程,以前在网上搜索过,只看到软件自带那个例子,不是很懂,现在猫老的连着发了几篇,好好消化一下。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表