- UID
 - 660
 
 注册时间2005-4-7
阅读权限50
最后登录1970-1-1
感悟天道 
   
 
 
 
TA的每日心情  | 慵懒 2024-10-16 20:38 | 
|---|
 
  签到天数: 1491 天 [LV.10]以坛为家III  
 | 
 
 
 楼主 |
发表于 2008-4-5 11:09:30
|
显示全部楼层
 
 
 
代码也贴上
先运行程序,找开OD(看雪网站上下载),使用附加功能,然后ALT+E,选nsensor.exe,使用Od中的字符串查找插件查找“注册失败”就能找到下面的代码。 
 
00417612   .  68 805A4500   push    00455A80                           ;  SE 处理程序安装 
00417617   .  64:A1 0000000>mov     eax, dword ptr fs:[0] 
0041761D   .  50            push    eax 
0041761E   .  64:8925 00000>mov     dword ptr fs:[0], esp 
00417625   .  81EC 34040000 sub     esp, 434 
0041762B   .  55            push    ebp 
0041762C   .  56            push    esi 
0041762D   .  57            push    edi 
0041762E   .  68 B0804600   push    004680B0                           ;  .key 
00417633   .  8D4424 24     lea     eax, dword ptr [esp+24] 
00417637   .  8BE9          mov     ebp, ecx 
00417639   .  68 58B14600   push    0046B158 
0041763E   .  50            push    eax 
0041763F   .  896C24 18     mov     dword ptr [esp+18], ebp 
00417643   .  E8 F0B70300   call    <jmp.&MSVCP60.std::operator+>      ;  取Key 
00417648   .  83C4 0C       add     esp, 0C                            ;  放在esp+0C这个地址中 
0041764B   .  B9 00010000   mov     ecx, 100 
00417650   .  33C0          xor     eax, eax 
00417652   .  8D7C24 40     lea     edi, dword ptr [esp+40] 
00417656   .  68 00040000   push    400 
0041765B   .  F3:AB         rep     stos dword ptr es:[edi] 
0041765D   .  8D4C24 44     lea     ecx, dword ptr [esp+44] 
00417661   .  C78424 4C0400>mov     dword ptr [esp+44C], 0 
0041766C   .  51            push    ecx 
0041766D   .  8D4D 60       lea     ecx, dword ptr [ebp+60] 
00417670   .  E8 79BD0300   call    <jmp.&MFC42.#3873_CWnd::GetWindowT>;  调用GetWindowTextA取注册码 当前为假注册码 
00417675   .  8B35 6CB14600 mov     esi, dword ptr [46B16C]            ;  46B16C处字符入ESI 2215696ffe0a7a9a(这就是注册码) 
0041767B   .  85F6          test    esi, esi                           ;  是否为0  esi=00378761, (ASCII "2215696ffe0a7a9a") 内存注册机处 
 
0041767D   .  75 06         jnz     short 00417685                     ;  不等就跳 
0041767F   .  8B35 F8864500 mov     esi, dword ptr [<&MSVCP60.`std::ba>;  MSVCP60.`std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Nullstr'::`2'::_C 
00417685   >  53            push    ebx 
00417686   .  8D4424 44     lea     eax, dword ptr [esp+44] 
0041768A   >  8A10          mov     dl, byte ptr [eax]                 ;  注册码第一位入DL 
0041768C   .  8A1E          mov     bl, byte ptr [esi]                 ;  注册码第二位入BL 
0041768E   .  8ACA          mov     cl, dl                             ;  DL值入CL 
00417690   .  3AD3          cmp     dl, bl                             ;  比较DL与BL的值,即比较真注册码与假注册的第一位 
00417692   .  75 1E         jnz     short 004176B2                     ;  不相等就跳走 
00417694   .  84C9          test    cl, cl                             ;  CL是否为0 
00417696   .  74 16         je      short 004176AE                     ;  为0就跳走 
00417698   .  8A50 01       mov     dl, byte ptr [eax+1]               ;  取注册码第二位放入DL 
0041769B   .  8A5E 01       mov     bl, byte ptr [esi+1]               ;  取真注册码第二位放入BL 
0041769E   .  8ACA          mov     cl, dl 
004176A0   .  3AD3          cmp     dl, bl                             ;  比较 
004176A2   .  75 0E         jnz     short 004176B2                     ;  不等就跳走 
004176A4   .  83C0 02       add     eax, 2                             ;  记数器加2 
004176A7   .  83C6 02       add     esi, 2 
004176AA   .  84C9          test    cl, cl                             ;  是否比较完成 
004176AC   .^ 75 DC         jnz     short 0041768A                     ;  跳回去循环 
004176AE   >  33C0          xor     eax, eax                           ;  清0 
004176B0   .  EB 05         jmp     short 004176B7 
004176B2   >  1BC0          sbb     eax, eax                           ;  EAX减EAX 
004176B4   .  83D8 FF       sbb     eax, -1                            ;  EAX-(-1) 
004176B7   >  85C0          test    eax, eax                           ;  是否为0 
004176B9   .  5B            pop     ebx                                ;  ebx入堆栈 
004176BA   .  0F85 9B010000 jnz     0041785B                           ;  跳走就提示注册失败 
004176C0   .  68 AC804600   push    004680AC                           ;  \ 
004176C5   .  8D4424 14     lea     eax, dword ptr [esp+14] 
004176C9   .  68 30B14600   push    0046B130 
004176CE   .  50            push    eax 
004176CF   .  C705 B4B14600>mov     dword ptr [46B1B4], 1 
004176D9   .  E8 5AB70300   call    <jmp.&MSVCP60.std::operator+> 
004176DE   .  8D4C24 2C     lea     ecx, dword ptr [esp+2C] 
004176E2   .  8D5424 1C     lea     edx, dword ptr [esp+1C] 
004176E6   .  51            push    ecx 
004176E7   .  8D4424 40     lea     eax, dword ptr [esp+40] 
004176EB   .  52            push    edx 
004176EC   .  50            push    eax 
004176ED   .  C68424 600400>mov     byte ptr [esp+460], 1 
004176F5   .  E8 44B70300   call    <jmp.&MSVCP60.std::operator+> 
004176FA   .  83C4 18       add     esp, 18 
004176FD   .  8B0D 1C874500 mov     ecx, dword ptr [<&MSVCP60.std::bas>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::npos 
00417703   .  C68424 480400>mov     byte ptr [esp+448], 2 
0041770B   .  8B11          mov     edx, dword ptr [ecx] 
0041770D   .  8D4C24 10     lea     ecx, dword ptr [esp+10] 
00417711   .  52            push    edx 
00417712   .  6A 00         push    0 
00417714   .  50            push    eax 
00417715   .  FF15 EC864500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign 
0041771B   .  6A 01         push    1 
0041771D   .  8D4C24 34     lea     ecx, dword ptr [esp+34] 
00417721   .  C68424 4C0400>mov     byte ptr [esp+44C], 1 
00417729   .  FF15 10874500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy 
0041772F   .  8B4424 14     mov     eax, dword ptr [esp+14] 
00417733   .  85C0          test    eax, eax 
00417735   .  75 05         jnz     short 0041773C 
00417737   .  A1 F8864500   mov     eax, dword ptr [<&MSVCP60.`std::ba> 
0041773C   >  68 10714600   push    00467110                           ; /w 
00417741   .  50            push    eax                                ; |path 
00417742   .  FF15 10884500 call    dword ptr [<&MSVCRT.fopen>]        ; \fopen 
00417748   .  8BF0          mov     esi, eax 
0041774A   .  83C4 08       add     esp, 8 
0041774D   .  85F6          test    esi, esi 
0041774F   .  75 45         jnz     short 00417796                     ;  这里不跳走就提示定注册文件失败 
00417751   .  50            push    eax                                ; /Style 
00417752   .  8B45 20       mov     eax, dword ptr [ebp+20]            ; | 
00417755   .  68 48764600   push    00467648                           ; |系统消息 
0041775A   .  68 7C804600   push    0046807C                           ; |对不起,写注册文件失败!!!,请重新输入产品key 
0041775F   .  50            push    eax                                ; |hOwner 
00417760   .  FF15 B0884500 call    dword ptr [<&USER32.MessageBoxA>]  ; \MessageBoxA 
00417766   .  6A 01         push    1 
00417768   .  8D4C24 14     lea     ecx, dword ptr [esp+14] 
0041776C   .  C68424 4C0400>mov     byte ptr [esp+44C], 0 
00417774   .  FF15 10874500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy 
0041777A   .  6A 01         push    1 
0041777C   .  8D4C24 24     lea     ecx, dword ptr [esp+24] 
00417780   .  C78424 4C0400>mov     dword ptr [esp+44C], -1 
0041778B   .  FF15 10874500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy 
00417791   .  E9 B2010000   jmp     00417948 
00417796   >  8D7C24 40     lea     edi, dword ptr [esp+40] 
0041779A   .  83C9 FF       or      ecx, FFFFFFFF 
0041779D   .  33C0          xor     eax, eax 
0041779F   .  56            push    esi                                ; /stream 
004177A0   .  F2:AE         repne   scas byte ptr es:[edi]             ; | 
004177A2   .  F7D1          not     ecx                                ; | 
004177A4   .  49            dec     ecx                                ; | 
004177A5   .  6A 01         push    1                                  ; |n = 1 
004177A7   .  51            push    ecx                                ; |size 
004177A8   .  8D4C24 4C     lea     ecx, dword ptr [esp+4C]            ; |堆栈里为注册码 
004177AC   .  51            push    ecx                                ; |ptr 
004177AD   .  FF15 E8874500 call    dword ptr [<&MSVCRT.fwrite>]       ; \fwrite 
004177B3   .  56            push    esi                                ; /stream 
004177B4   .  FF15 1C884500 call    dword ptr [<&MSVCRT.fclose>]       ; \fclose 
004177BA   .  BF 44804600   mov     edi, 00468044                      ;  pc007(qq msn 聊天记录监控与电脑操作记录监控专家) 5.1 
004177BF   .  83C9 FF       or      ecx, FFFFFFFF 
004177C2   .  33C0          xor     eax, eax 
004177C4   .  83C4 14       add     esp, 14 
004177C7   .  F2:AE         repne   scas byte ptr es:[edi] 
004177C9   .  F7D1          not     ecx 
004177CB   .  49            dec     ecx 
004177CC   .  6A 01         push    1 
004177CE   .  8BE9          mov     ebp, ecx 
004177D0   .  B9 48B14600   mov     ecx, 0046B148 
004177D5   .  55            push    ebp 
004177D6   .  FF15 D4864500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow 
004177DC   .  84C0          test    al, al 
004177DE   .  74 2A         je      short 0041780A 
004177E0   .  8B3D 4CB14600 mov     edi, dword ptr [46B14C] 
004177E6   .  8BCD          mov     ecx, ebp 
004177E8   .  8BD1          mov     edx, ecx 
004177EA   .  BE 44804600   mov     esi, 00468044                      ;  pc007(qq msn 聊天记录监控与电脑操作记录监控专家) 5.1 
004177EF   .  C1E9 02       shr     ecx, 2 
004177F2   .  F3:A5         rep     movs dword ptr es:[edi], dword ptr> 
004177F4   .  8BCA          mov     ecx, edx 
004177F6   .  83E1 03       and     ecx, 3 
004177F9   .  F3:A4         rep     movs byte ptr es:[edi], byte ptr [> 
004177FB   .  A1 4CB14600   mov     eax, dword ptr [46B14C] 
00417800   .  892D 50B14600 mov     dword ptr [46B150], ebp 
00417806   .  C60428 00     mov     byte ptr [eax+ebp], 0 
0041780A   >  8B7424 0C     mov     esi, dword ptr [esp+C] 
0041780E   .  6A 00         push    0                                  ; /Style = MB_OK|MB_APPLMODAL 
00417810   .  68 48764600   push    00467648                           ; |系统消息 
00417815   .  68 2C804600   push    0046802C                           ; |恭喜您,注册成功!!! 
0041781A   .  8B4E 20       mov     ecx, dword ptr [esi+20]            ; | 
0041781D   .  51            push    ecx                                ; |hOwner 
0041781E   .  FF15 B0884500 call    dword ptr [<&USER32.MessageBoxA>]  ; \MessageBoxA 
00417824   .  8BCE          mov     ecx, esi 
00417826   .  E8 0DBA0300   call    <jmp.&MFC42.#4853_CDialog::OnOK> 
0041782B   .  8B4C24 14     mov     ecx, dword ptr [esp+14] 
0041782F   .  85C9          test    ecx, ecx 
00417831   .  0F84 ED000000 je      00417924 
00417837   .  8A41 FF       mov     al, byte ptr [ecx-1] 
0041783A   .  84C0          test    al, al 
0041783C   .  74 0E         je      short 0041784C 
0041783E   .  3C FF         cmp     al, 0FF 
00417840   .  74 0A         je      short 0041784C 
00417842   .  FEC8          dec     al 
00417844   .  8841 FF       mov     byte ptr [ecx-1], al 
00417847   .  E9 D8000000   jmp     00417924 
0041784C   >  49            dec     ecx 
0041784D   .  51            push    ecx 
0041784E   .  E8 D9B50300   call    00452E2C 
00417853   .  83C4 04       add     esp, 4 
00417856   .  E9 C9000000   jmp     00417924 
0041785B   >  8B55 20       mov     edx, dword ptr [ebp+20] 
0041785E   .  6A 00         push    0                                  ; /Style = MB_OK|MB_APPLMODAL 
00417860   .  68 48764600   push    00467648                           ; |系统消息 
00417865   .  68 14804600   push    00468014                           ; |对不起,注册失败!!! 
0041786A   .  52            push    edx                                ; |hOwner 
0041786B   .  FF15 B0884500 call    dword ptr [<&USER32.MessageBoxA>]  ; \MessageBoxA 
00417871   .  BF 44804600   mov     edi, 00468044                      ;  pc007(qq msn 聊天记录监控与电脑操作记录监控专家) 5.1 
00417876   .  83C9 FF       or      ecx, FFFFFFFF 
00417879   .  33C0          xor     eax, eax 
0041787B   .  6A 01         push    1 
0041787D   .  F2:AE         repne   scas byte ptr es:[edi] 
0041787F   .  F7D1          not     ecx 
00417881   .  49            dec     ecx 
00417882   .  8BE9          mov     ebp, ecx 
00417884   .  B9 48B14600   mov     ecx, 0046B148 
00417889   .  55            push    ebp 
0041788A   .  FF15 D4864500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow 
00417890   .  84C0          test    al, al 
00417892   .  74 2B         je      short 004178BF 
00417894   .  8B3D 4CB14600 mov     edi, dword ptr [46B14C] 
0041789A   .  8BCD          mov     ecx, ebp 
0041789C   .  8BC1          mov     eax, ecx 
0041789E   .  BE 44804600   mov     esi, 00468044                      ;  pc007(qq msn 聊天记录监控与电脑操作记录监控专家) 5.1 
004178A3   .  C1E9 02       shr     ecx, 2 
004178A6   .  F3:A5         rep     movs dword ptr es:[edi], dword ptr> 
004178A8   .  8BC8          mov     ecx, eax 
004178AA   .  83E1 03       and     ecx, 3 
004178AD   .  F3:A4         rep     movs byte ptr es:[edi], byte ptr [> 
004178AF   .  8B0D 4CB14600 mov     ecx, dword ptr [46B14C] 
004178B5   .  892D 50B14600 mov     dword ptr [46B150], ebp 
004178BB   .  C60429 00     mov     byte ptr [ecx+ebp], 0 
004178BF   >  68 04804600   push    00468004                           ;   (未注册版) 
004178C4   .  8D5424 34     lea     edx, dword ptr [esp+34] 
004178C8   .  68 48B14600   push    0046B148 
004178CD   .  52            push    edx 
004178CE   .  E8 65B50300   call    <jmp.&MSVCP60.std::operator+> 
004178D3   .  83C4 0C       add     esp, 0C 
004178D6   .  8B0D 1C874500 mov     ecx, dword ptr [<&MSVCP60.std::bas>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::npos 
004178DC   .  C68424 480400>mov     byte ptr [esp+448], 3 
004178E4   .  8B11          mov     edx, dword ptr [ecx] 
004178E6   .  B9 48B14600   mov     ecx, 0046B148 
004178EB   .  52            push    edx 
004178EC   .  6A 00         push    0 
004178EE   .  50            push    eax 
004178EF   .  FF15 EC864500 call    dword ptr [<&MSVCP60.std::basic_st>;  MSVCP60.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign 
004178F5   .  8B4424 34     mov     eax, dword ptr [esp+34] 
004178F9   .  85C0          test    eax, eax 
004178FB   .  74 1D         je      short 0041791A 
004178FD   .  8D48 FF       lea     ecx, dword ptr [eax-1] 
00417900   .  8A40 FF       mov     al, byte ptr [eax-1] 
00417903   .  84C0          test    al, al 
00417905   .  74 0A         je      short 00417911 
00417907   .  3C FF         cmp     al, 0FF 
00417909   .  74 06         je      short 00417911 
0041790B   .  FEC8          dec     al 
0041790D   .  8801          mov     byte ptr [ecx], al 
0041790F   .  EB 09         jmp     short 0041791A 
00417911   >  51            push    ecx 
00417912   .  E8 15B50300   call    00452E2C 
00417917   .  83C4 04       add     esp, 4 
0041791A   >  C705 B4B14600>mov     dword ptr [46B1B4], 0 
00417924   >  8B4C24 24     mov     ecx, dword ptr [esp+24] 
00417928   .  85C9          test    ecx, ecx 
0041792A   .  74 1C         je      short 00417948 
0041792C   .  8A41 FF       mov     al, byte ptr [ecx-1] 
0041792F   .  84C0          test    al, al 
00417931   .  74 0B         je      short 0041793E 
00417933   .  3C FF         cmp     al, 0FF 
00417935   .  74 07         je      short 0041793E 
00417937   .  FEC8          dec     al 
00417939   .  8841 FF       mov     byte ptr [ecx-1], al 
0041793C   .  EB 0A         jmp     short 00417948 
0041793E   >  49            dec     ecx 
0041793F   .  51            push    ecx 
00417940   .  E8 E7B40300   call    00452E2C 
00417945   .  83C4 04       add     esp, 4 
00417948   >  8B8C24 400400>mov     ecx, dword ptr [esp+440] 
0041794F   .  5F            pop     edi 
00417950   .  5E            pop     esi 
00417951   .  5D            pop     ebp 
00417952   .  64:890D 00000>mov     dword ptr fs:[0], ecx 
00417959   .  81C4 40040000 add     esp, 440 
0041795F   .  C3            retn 
00417960   .  E9 CDB80300   jmp     <jmp.&MFC42.#4376_CDialog::OnCance> 
 
0041767B   .  85F6          test    esi, esi  这行用内存注册机就能得到注册码 
 
Keymake1.73制作内在注册机,程序名称选nsensor.exe 
程序信息: 
中断地址:41767B 
次数:1 
指令:85 
长度:2 
注册码: 
内存方式->寄存器->ESI 
 
点生成,给它个名字,现在运行,输入假注册码,点注册,你就能看到真的注册码了。/:014 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |