└文章标题┐:XnView v1.91最新版-软柿子算法分析及注册机 └破文作者┐:大菜一号 └破解对象┐:XnView v1.91 └下载地址┐:自已搜吧 └对象大小┐:不知 └加壳方式┐:aspack └保护方式┐:普通软柿子算法 └编写语言┐:vc6 └使用工具┐:OD,peid └破解平台┐:D-XP └破解声明┐:软柿子真好~~~^-^ ---------------------------------------------------------------------------------- └破解过程┐: 嘿嘿``近来嫌ACDsee5.0速度太慢,看个图也要几秒!就下了个XnView!呵呵`虽说它不能简单地编辑一个图,不过看图速度较快,还有十六进制什么什么的!!饿也没用过啦~~西西~~~~~~~~~~
好了``aspack的壳`,Peid帮我们搞定了!下断GetDlgItemText,name:jiangwu,serial:123456!,点注册后断在: 0052E0AA . 56 push esi 0052E0AB . 8BB424 700100>mov esi, dword ptr [esp+170] 0052E0B2 . 57 push edi 0052E0B3 . 8B3D 70366600 mov edi, dword ptr [<&USER32.GetDlgI>; USER32.GetDlgItemTextA 0052E0B9 . 68 00010000 push 100 ; /Count = 100 (256.) 0052E0BE . 50 push eax ; |Buffer 0052E0BF . 68 D0070000 push 7D0 ; |ControlID = 7D0 (2000.) 0052E0C4 . 56 push esi ; |hWnd 0052E0C5 . FFD7 call edi ; \GetDlgItemTextA<=============断在这里,取注册名 0052E0C7 . 8D4C24 10 lea ecx, dword ptr [esp+10] 0052E0CB . 6A 20 push 20 ; /Count = 20 (32.) 0052E0CD . 51 push ecx ; |Buffer 0052E0CE . 68 D1070000 push 7D1 ; |ControlID = 7D1 (2001.) 0052E0D3 . 56 push esi ; |hWnd 0052E0D4 . FFD7 call edi ; \GetDlgItemTextA<=============这里,取注册码 0052E0D6 . 8A4424 70 mov al, byte ptr [esp+70]<============注册名第一位到al 0052E0DA . 84C0 test al, al<===========================是否为空 0052E0DC . 0F84 3A010000 je 0052E21C<=========================没输入注册名就出错 0052E0E2 . 8A4424 10 mov al, byte ptr [esp+10]<============注册码第一位到al 0052E0E6 . 84C0 test al, al<===========================是否为空 0052E0E8 . 0F84 2E010000 je 0052E21C<=========================没输入注册码就出错 0052E0EE . 8D5424 08 lea edx, dword ptr [esp+8] 0052E0F2 . 8D4424 70 lea eax, dword ptr [esp+70] 0052E0F6 . 52 push edx 0052E0F7 . 50 push eax<==============================注册名地址进栈 0052E0F8 . E8 E32CFAFF call 004D0DE0<=========================关键call 0052E0FD . 8D4C24 18 lea ecx, dword ptr [esp+18] 0052E101 . 51 push ecx 0052E102 . E8 EC5F0200 call 005540F3 0052E107 . 8B4C24 14 mov ecx, dword ptr [esp+14] 0052E10B . 83C4 0C add esp, 0C 0052E10E . 3BC8 cmp ecx, eax 0052E110 . 74 5D je short 0052E16F 0052E112 . A1 582A6E00 mov eax, dword ptr [6E2A58] 0052E117 . 8D5424 30 lea edx, dword ptr [esp+30] 0052E11B . 6A 40 push 40 ; /Count = 40 (64.) 0052E11D . 52 push edx ; |Buffer 0052E11E . 68 93130000 push 1393 ; |RsrcID = STRING "Invalid registration" 0052E123 . 50 push eax ; |hInst => 10000000 0052E124 . FF15 08376600 call dword ptr [<&USER32.LoadStringA>>; \LoadStringA<==========加载错误字符串 0052E12A . 6A 10 push 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL 0052E12C . 8D4C24 34 lea ecx, dword ptr [esp+34] ; | 0052E130 . 68 9CAA6D00 push 006DAA9C ; |Title = "" 0052E135 . 51 push ecx ; |Text 0052E136 . 56 push esi ; |hOwner 0052E137 . FF15 90366600 call dword ptr [<&USER32.MessageBoxA>>; \MessageBoxA<==========显示错误字符串 0052E13D . 68 D0070000 push 7D0 ; /ControlID = 7D0 (2000.) 0052E142 . 56 push esi ; |hWnd 0052E143 . FF15 88366600 call dword ptr [<&USER32.GetDlgItem>] ; \GetDlgItem 0052E149 . 50 push eax ; /hWnd 0052E14A . FF15 C8366600 call dword ptr [<&USER32.SetFocus>] ; \SetFocus 0052E150 . 68 9CAA6D00 push 006DAA9C ; /Text = "" 0052E155 . 68 D1070000 push 7D1 ; |ControlID = 7D1 (2001.) 0052E15A . 56 push esi ; |hWnd 0052E15B . FF15 84366600 call dword ptr [<&USER32.SetDlgItemTe>; \SetDlgItemTextA<=====注册错误之后设置注册码输入框为空 0052E161 . 5F pop edi 0052E162 . B8 01000000 mov eax, 1 0052E167 . 5E pop esi 0052E168 . 81C4 68010000 add esp, 168 0052E16E . C3 retn 0052E16F > 8D5424 70 lea edx, dword ptr [esp+70] 0052E173 . 68 00010000 push 100 0052E178 . 52 push edx 0052E179 . 68 D0070000 push 7D0 0052E17E . 56 push esi 0052E17F . FFD7 call edi 0052E181 . 8D4424 10 lea eax, dword ptr [esp+10] 0052E185 . 6A 20 push 20 0052E187 . 50 push eax 0052E188 . 68 D1070000 push 7D1 0052E18D . 56 push esi 0052E18E . FFD7 call edi 0052E190 . 8D4C24 70 lea ecx, dword ptr [esp+70] 0052E194 . 51 push ecx 0052E195 . 68 84716B00 push 006B7184 ; ASCII "LicenseName" 0052E19A . 6A 00 push 0 0052E19C . E8 0FC1F7FF call 004AA2B0 0052E1A1 . 8D5424 1C lea edx, dword ptr [esp+1C] 0052E1A5 . 52 push edx 0052E1A6 . 68 74716B00 push 006B7174 ; ASCII "LicenseNumber" 0052E1AB . 6A 00 push 0 0052E1AD . E8 FEC0F7FF call 004AA2B0 0052E1B2 . A1 602A6E00 mov eax, dword ptr [6E2A60] 0052E1B7 . 83C4 18 add esp, 18 0052E1BA . C705 882A6E00>mov dword ptr [6E2A88], 1 0052E1C4 . 6A 01 push 1 ; /Flags = MF_BYCOMMAND|MF_GRAYED|MF_STRING 0052E1C6 . 68 F2000000 push 0F2 ; |ItemID = F2 (242.) 0052E1CB . 50 push eax ; |/hWnd => 00180068 ('XnView - [浏览器 - E:\工具\Sk...',class='XmainClass') 0052E1CC . FF15 F4366600 call dword ptr [<&USER32.GetMenu>] ; |\GetMenu 0052E1D2 . 50 push eax ; |hMenu 0052E1D3 . FF15 DC366600 call dword ptr [<&USER32.EnableMenuIt>; \EnableMenuItem 0052E1D9 . 8B15 582A6E00 mov edx, dword ptr [6E2A58] ; xnviewzh.10000000 0052E1DF . 8D4C24 30 lea ecx, dword ptr [esp+30] 0052E1E3 . 6A 40 push 40 ; /Count = 40 (64.) 0052E1E5 . 51 push ecx ; |Buffer 0052E1E6 . 68 94130000 push 1394 ; |RsrcID = STRING "Registration successful.
1 2 3 下一页 |