- 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 |
评分
-
查看全部评分
|