• 标 题:如何制作VB程序内存注册机--国内某软件的注册机(隐去软件信息) (14千字)
  • 作 者:lajiaolz
  • 时 间:2002-8-4 22:17:05
  • 链 接:http://bbs.pediy.com

1.用PEid检查:软件为VB程序
2.使用SMARTCHECK和kWdsm载入分析
3.使用Keymake 1.73制作内存注册机
///////////////////////////////////////////////////////////////////
用SMARTCHECK我们可以看到下面内容
OFFSET:000688C0      <<<<<<<<<<<<<注意这个偏移量,可以帮助我们找到断点 004688XX  :)
Len(String:"10311820...") returns LONG:35

Arguments
--------------------
String  string1 = 00163E0C
      = "10311820................."<<<<<<<<<这可是我们想要的东西
-----------------------------------------------------------------
用kWdsm载入跟踪调试
:004686D7 8D4DAC                  lea ecx, dword ptr [ebp-54]

* Reference To: MSVBVM60.__vbaFreeVar, Ord:0000h
                                  |
:004686DA FF1524104000            Call dword ptr [00401024]
:004686E0 8B45C4                  mov eax, dword ptr [ebp-3C]
:004686E3 50                      push eax

* Reference To: MSVBVM60.__vbaLenBstr, Ord:0000h
                                  |
:004686E4 FF152C104000            Call dword ptr [0040102C]
:004686EA 8BC8                    mov ecx, eax
:004686EC 8B45E8                  mov eax, dword ptr [ebp-18]
:004686EF 668BD0                  mov dx, ax
:004686F2 C745AC03000000          mov [ebp-54], 00000003
:004686F9 666BD202                imul dx, 0002
:004686FD 0F8092030000            jo 00468A95
:00468703 0FBFD2                  movsx edx, dx
:00468706 2BCA                    sub ecx, edx
:00468708 8D55AC                  lea edx, dword ptr [ebp-54]
:0046870B 0F8084030000            jo 00468A95
:00468711 666BC002                imul ax, 0002
:00468715 894DB4                  mov dword ptr [ebp-4C], ecx
:00468718 8D4DC4                  lea ecx, dword ptr [ebp-3C]
:0046871B 0F8074030000            jo 00468A95
:00468721 894D84                  mov dword ptr [ebp-7C], ecx
:00468724 C7857CFFFFFF08400000    mov dword ptr [ebp+FFFFFF7C], 00004008
:0046872E 52                      push edx
:0046872F 66050100                add ax, 0001
:00468733 0F805C030000            jo 00468A95
:00468739 0FBFC0                  movsx eax, ax
:0046873C 8D8D7CFFFFFF            lea ecx, dword ptr [ebp+FFFFFF7C]
:00468742 50                      push eax
:00468743 8D559C                  lea edx, dword ptr [ebp-64]
:00468746 51                      push ecx
:00468747 52                      push edx
:00468748 FFD3                    call ebx
:0046874A 8D459C                  lea eax, dword ptr [ebp-64]
:0046874D 50                      push eax
:0046874E FFD7                    call edi
:00468750 8BD0                    mov edx, eax
:00468752 8D4DC0                  lea ecx, dword ptr [ebp-40]
:00468755 FFD6                    call esi
:00468757 8D4D9C                  lea ecx, dword ptr [ebp-64]
:0046875A 8D55AC                  lea edx, dword ptr [ebp-54]
:0046875D 51                      push ecx
:0046875E 52                      push edx
:0046875F 6A02                    push 00000002

* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
                                  |
:00468761 FF1540104000            Call dword ptr [00401040]
:00468767 668B45E8                mov ax, word ptr [ebp-18]
:0046876B 83C40C                  add esp, 0000000C
:0046876E 662D0100                sub ax, 0001
:00468772 0F801D030000            jo 00468A95
:00468778 33C9                    xor ecx, ecx
:0046877A 89854CFFFFFF            mov dword ptr [ebp+FFFFFF4C], eax
:00468780 894DE4                  mov dword ptr [ebp-1C], ecx

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0046882F(U)
|
:00468783 663BC8                  cmp cx, ax
:00468786 0F8FA8000000            jg 00468834
:0046878C 8B45E0                  mov eax, dword ptr [ebp-20]
:0046878F 8D55CC                  lea edx, dword ptr [ebp-34]
:00468792 895584                  mov dword ptr [ebp-7C], edx
:00468795 668B55E8                mov dx, word ptr [ebp-18]
:00468799 898564FFFFFF            mov dword ptr [ebp+FFFFFF64], eax
:0046879F 8D45AC                  lea eax, dword ptr [ebp-54]
:004687A2 662BD1                  sub dx, cx
:004687A5 50                      push eax
:004687A6 0F80E9020000            jo 00468A95
:004687AC 0FBFC2                  movsx eax, dx
:004687AF 8D8D7CFFFFFF            lea ecx, dword ptr [ebp+FFFFFF7C]
:004687B5 50                      push eax
:004687B6 8D559C                  lea edx, dword ptr [ebp-64]
:004687B9 51                      push ecx
:004687BA 52                      push edx
:004687BB C7855CFFFFFF08000000    mov dword ptr [ebp+FFFFFF5C], 00000008
:004687C5 C745B401000000          mov [ebp-4C], 00000001
:004687CC C745AC02000000          mov [ebp-54], 00000002
:004687D3 C7857CFFFFFF08400000    mov dword ptr [ebp+FFFFFF7C], 00004008
:004687DD FFD3                    call ebx
:004687DF 8D855CFFFFFF            lea eax, dword ptr [ebp+FFFFFF5C]
:004687E5 8D4D9C                  lea ecx, dword ptr [ebp-64]
:004687E8 50                      push eax
:004687E9 8D558C                  lea edx, dword ptr [ebp-74]
:004687EC 51                      push ecx
:004687ED 52                      push edx

* Reference To: MSVBVM60.__vbaVarCat, Ord:0000h
                                  |
:004687EE FF15AC114000            Call dword ptr [004011AC]
:004687F4 50                      push eax
:004687F5 FFD7                    call edi
:004687F7 8BD0                    mov edx, eax
:004687F9 8D4DE0                  lea ecx, dword ptr [ebp-20]
:004687FC FFD6                    call esi
:004687FE 8D458C                  lea eax, dword ptr [ebp-74]
:00468801 8D4D9C                  lea ecx, dword ptr [ebp-64]
:00468804 50                      push eax
:00468805 8D55AC                  lea edx, dword ptr [ebp-54]
:00468808 51                      push ecx
:00468809 52                      push edx
:0046880A 6A03                    push 00000003

* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
                                  |
:0046880C FF1540104000            Call dword ptr [00401040]
:00468812 B801000000              mov eax, 00000001
:00468817 83C410                  add esp, 00000010
:0046881A 660345E4                add ax, word ptr [ebp-1C]
:0046881E 0F8071020000            jo 00468A95
:00468824 8945E4                  mov dword ptr [ebp-1C], eax
:00468827 8BC8                    mov ecx, eax
:00468829 8B854CFFFFFF            mov eax, dword ptr [ebp+FFFFFF4C]
:0046882F E94FFFFFFF              jmp 00468783

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00468786(C)
|
:00468834 8B45C4                  mov eax, dword ptr [ebp-3C]
:00468837 50                      push eax

* Reference To: MSVBVM60.__vbaLenBstr, Ord:0000h
                                  |
:00468838 FF152C104000            Call dword ptr [0040102C]
:0046883E 668B55E8                mov dx, word ptr [ebp-18]
:00468842 8BC8                    mov ecx, eax
:00468844 666BD202                imul dx, 0002
:00468848 0F8047020000            jo 00468A95
:0046884E 0FBFC2                  movsx eax, dx
:00468851 2BC8                    sub ecx, eax
:00468853 0F803C020000            jo 00468A95
:00468859 83E901                  sub ecx, 00000001
:0046885C 0F8033020000            jo 00468A95

* Reference To: MSVBVM60.__vbaI2I4, Ord:0000h
                                  |
:00468862 FF1534114000            Call dword ptr [00401134]
:00468868 898544FFFFFF            mov dword ptr [ebp+FFFFFF44], eax
:0046886E C745E400000000          mov [ebp-1C], 00000000

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00468940(U)
|
:00468875 668B8D44FFFFFF          mov cx, word ptr [ebp+FFFFFF44]
:0046887C 66394DE4                cmp word ptr [ebp-1C], cx
:00468880 0F8FBF000000            jg 00468945
:00468886 8B55E0                  mov edx, dword ptr [ebp-20]
:00468889 8D4DAC                  lea ecx, dword ptr [ebp-54]
:0046888C 899564FFFFFF            mov dword ptr [ebp+FFFFFF64], edx
:00468892 8B55C4                  mov edx, dword ptr [ebp-3C]
:00468895 8D45C0                  lea eax, dword ptr [ebp-40]
:00468898 51                      push ecx
:00468899 52                      push edx
:0046889A C7855CFFFFFF08000000    mov dword ptr [ebp+FFFFFF5C], 00000008
:004688A4 C745B401000000          mov [ebp-4C], 00000001
:004688AB C745AC02000000          mov [ebp-54], 00000002
:004688B2 894584                  mov dword ptr [ebp-7C], eax
:004688B5 C7857CFFFFFF08400000    mov dword ptr [ebp+FFFFFF7C], 00004008

* Reference To: MSVBVM60.__vbaLenBstr, Ord:0000h
                                  |
:004688BF FF152C104000            Call dword ptr [0040102C]
:004688C5 668B4DE8                mov cx, word ptr [ebp-18]
:004688C9 666BC902                imul cx, 0002
:004688CD 0F80C2010000            jo 00468A95
:004688D3 0FBFD1                  movsx edx, cx
:004688D6 0FBF4DE4                movsx ecx, word ptr [ebp-1C]
:004688DA 2BC2                    sub eax, edx
:004688DC 8D957CFFFFFF            lea edx, dword ptr [ebp+FFFFFF7C]
:004688E2 0F80AD010000            jo 00468A95
:004688E8 2BC1                    sub eax, ecx
:004688EA 0F80A5010000            jo 00468A95
:004688F0 50                      push eax
:004688F1 8D459C                  lea eax, dword ptr [ebp-64]
:004688F4 52                      push edx
:004688F5 50                      push eax
:004688F6 FFD3                    call ebx
:004688F8 8D8D5CFFFFFF            lea ecx, dword ptr [ebp+FFFFFF5C]
:004688FE 8D559C                  lea edx, dword ptr [ebp-64]
:00468901 51                      push ecx
:00468902 8D458C                  lea eax, dword ptr [ebp-74]
:00468905 52                      push edx
:00468906 50                      push eax

* Reference To: MSVBVM60.__vbaVarCat, Ord:0000h
                                  |
:00468907 FF15AC114000            Call dword ptr [004011AC]
:0046890D 50                      push eax
:0046890E FFD7                    call edi
:00468910 8BD0                    mov edx, eax
:00468912 8D4DE0                  lea ecx, dword ptr [ebp-20]
:00468915 FFD6                    call esi
:00468917 8D4D8C                  lea ecx, dword ptr [ebp-74]
:0046891A 8D559C                  lea edx, dword ptr [ebp-64]
:0046891D 51                      push ecx
:0046891E 8D45AC                  lea eax, dword ptr [ebp-54]
:00468921 52                      push edx
:00468922 50                      push eax
:00468923 6A03                    push 00000003

* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
                                  |
:00468925 FF1540104000            Call dword ptr [00401040]
:0046892B B801000000              mov eax, 00000001
:00468930 83C410                  add esp, 00000010
:00468933 660345E4                add ax, word ptr [ebp-1C]
:00468937 0F8058010000            jo 00468A95
:0046893D 8945E4                  mov dword ptr [ebp-1C], eax
:00468940 E930FFFFFF              jmp 00468875

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00468880(C)
|
:00468945 668B45E8                mov ax, word ptr [ebp-18]
:00468949 662D0100                sub ax, 0001
:0046894D 0F8042010000            jo 00468A95
:00468953 33C9                    xor ecx, ecx
:00468955 89853CFFFFFF            mov dword ptr [ebp+FFFFFF3C], eax
:0046895B 894DE4                  mov dword ptr [ebp-1C], ecx

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00468A0A(U)
|
:0046895E 8B55E0                  mov edx, dword ptr [ebp-20]
:00468961 663BC8                  cmp cx, ax
:00468964 0F8FA5000000            jg 00468A0F
:0046896A 8D45C8                  lea eax, dword ptr [ebp-38]
:0046896D 899564FFFFFF            mov dword ptr [ebp+FFFFFF64], edx
:00468973 894584                  mov dword ptr [ebp-7C], eax
:00468976 668B45E8                mov ax, word ptr [ebp-18]
:0046897A 662BC1                  sub ax, cx
:0046897D 8D55AC                  lea edx, dword ptr [ebp-54]
:00468980 0F800F010000            jo 00468A95
:00468986 0FBFC8                  movsx ecx, ax
:00468989 52                      push edx
:0046898A 8D957CFFFFFF            lea edx, dword ptr [ebp+FFFFFF7C]
:00468990 51                      push ecx
:00468991 8D459C                  lea eax, dword ptr [ebp-64]
:00468994 52                      push edx
:00468995 50                      push eax
:00468996 C7855CFFFFFF08000000    mov dword ptr [ebp+FFFFFF5C], 00000008
:004689A0 C745B401000000          mov [ebp-4C], 00000001
:004689A7 C745AC02000000          mov [ebp-54], 00000002
:004689AE C7857CFFFFFF08400000    mov dword ptr [ebp+FFFFFF7C], 00004008
:004689B8 FFD3                    call ebx
:004689BA 8D8D5CFFFFFF            lea ecx, dword ptr [ebp+FFFFFF5C]
:004689C0 8D559C                  lea edx, dword ptr [ebp-64]
:004689C3 51                      push ecx
:004689C4 8D458C                  lea eax, dword ptr [ebp-74]
:004689C7 52                      push edx
:004689C8 50                      push eax

* Reference To: MSVBVM60.__vbaVarCat, Ord:0000h
                                  |
:004689C9 FF15AC114000            Call dword ptr [004011AC]
:004689CF 50                      push eax
:004689D0 FFD7                    call edi
:004689D2 8BD0                    mov edx, eax
:004689D4 8D4DE0                  lea ecx, dword ptr [ebp-20]
:004689D7 FFD6                    call esi
:004689D9 8D4D8C                  lea ecx, dword ptr [ebp-74]
:004689DC 8D559C                  lea edx, dword ptr [ebp-64]
:004689DF 51                      push ecx
:004689E0 8D45AC                  lea eax, dword ptr [ebp-54]
:004689E3 52                      push edx
:004689E4 50                      push eax
:004689E5 6A03                    push 00000003

* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
                                  |
:004689E7 FF1540104000            Call dword ptr [00401040]
:004689ED B801000000              mov eax, 00000001
:004689F2 83C410                  add esp, 00000010
:004689F5 660345E4                add ax, word ptr [ebp-1C]
:004689F9 0F8096000000            jo 00468A95
:004689FF 8945E4                  mov dword ptr [ebp-1C], eax
:00468A02 8BC8                    mov ecx, eax
:00468A04 8B853CFFFFFF            mov eax, dword ptr [ebp+FFFFFF3C]
:00468A0A E94FFFFFFF              jmp 0046895E

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00468964(C)
|
:00468A0F 8D4DD0                  lea ecx, dword ptr [ebp-30]//EDX=宽注册码

* Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
                                  |
:00468A12 FF15F4114000            Call dword ptr [004011F4]
:00468A18 9B                      wait
:00468A19 687A8A4600              push 00468A7A
:00468A1E EB30                    jmp 00468A50
///////////////////////////////////////////////////////////////////
中断地址  中断次数  指令    长度
00468A0F  1          8D      3
内存方式  寄存器 EDX 宽字符串
///////////////////////////////////////////////////////////////////
收工。
                                  lajiaolz
                                  2002/06/10