好友
阅读权限35
听众
最后登录1970-1-1
|
本帖最后由 null119 于 2010-7-3 18:13 编辑
【文章作者】: null
【作者邮箱】: null_vbt@163.com
【作者主页】: http://hi.baidu.com/null_vbt
【软件名称】: 局域网查看工具 V1.72
【加壳方式】: 无
【保护方式】: 注册码
【编写语言】: Microsoft Visual C++ 6.0
【作者声明】: 只是感兴趣,没有其他目的,高手请直接PASS!
--------------------------------------------------------------------------------
【详细过程】
PEID检查无壳,Microsoft Visual C++ 6.0,OD载入,输入假码后没有任何错误提示,查看字符串,找到
地址=00405574 反汇编=push 局域网查.0041A3E4 文本字串=注册成功,请重新运行程序 //左键双击或ENTER跟随
来到这里:
00405574 . 68 E4A34100 push 局域网查.0041A3E4 ; 注册成功,请重新运行程序
向上查看,找到段首,F2下断,这里就是注册按钮事件代码
004054B0 . 64:A1 0000000>mov eax,dword ptr fs:[0]
004054B6 . 6A FF push -1
004054B8 . 68 08284100 push 局域网查.00412808
004054BD . 50 push eax
004054BE . 64:8925 00000>mov dword ptr fs:[0],esp
004054C5 . 83EC 0C sub esp,0C
004054C8 . 53 push ebx
004054C9 . 56 push esi
004054CA . 57 push edi
004054CB . 8BF1 mov esi,ecx
004054CD . 6A 01 push 1
004054CF . E8 4CBF0000 call
004054D4 . 8D7E 60 lea edi,dword ptr ds:[esi+60]
004054D7 . 8BCF mov ecx,edi
004054D9 . E8 F6BF0000 call
004054DE . 8D5E 64 lea ebx,dword ptr ds:[esi+64]
004054E1 . 8BCB mov ecx,ebx
004054E3 . E8 ECBF0000 call
004054E8 . 8B07 mov eax,dword ptr ds:[edi]
004054EA . 8378 F8 09 cmp dword ptr ds:[eax-8],9 ; 检查用户名是否=9位
004054EE . 0F85 A4000000 jnz 局域网查.00405598
004054F4 . 8B03 mov eax,dword ptr ds:[ebx]
004054F6 . 8078 01 31 cmp byte ptr ds:[eax+1],31 ; 检查第二位注册码是否为"1"
004054FA . 0F85 98000000 jnz 局域网查.00405598
00405500 . 8A48 04 mov cl,byte ptr ds:[eax+4]
00405503 . 80F9 39 cmp cl,39 ; 检查第五位是否为"9"
00405506 . 0F85 8C000000 jnz 局域网查.00405598
0040550C . 8078 06 39 cmp byte ptr ds:[eax+6],39 ; 检查第七位是否为"9"
00405510 . 0F85 82000000 jnz 局域网查.00405598
00405516 . 8078 07 37 cmp byte ptr ds:[eax+7],37 ; 检查第八位是否为"7"
0040551A . 75 7C jnz short 局域网查.00405598
0040551C . 8078 09 35 cmp byte ptr ds:[eax+9],35 ; 检查第十位是否为"5"
00405520 . 75 76 jnz short 局域网查.00405598
00405522 . 51 push ecx
00405523 . C605 78A44100>mov byte ptr ds:[41A478],1
0040552A . 8BCC mov ecx,esp
0040552C . 896424 10 mov dword ptr ss:[esp+10],esp
00405530 . 68 00A44100 push 局域网查.0041A400 ; software\lansee
00405535 . E8 98BB0000 call
0040553A . 68 02000080 push 80000002
0040553F . 8D4C24 18 lea ecx,dword ptr ss:[esp+18]
00405543 . E8 F8880000 call 局域网查.0040DE40
00405548 . 6A 01 push 1
0040554A . 51 push ecx
0040554B . 8BCC mov ecx,esp
0040554D . 896424 14 mov dword ptr ss:[esp+14],esp
00405551 . 68 FCA34100 push 局域网查.0041A3FC ; vip
00405556 . C74424 2C 000>mov dword ptr ss:[esp+2C],0
0040555E . E8 6FBB0000 call
00405563 . 8D4C24 18 lea ecx,dword ptr ss:[esp+18]
00405567 . E8 E4890000 call 局域网查.0040DF50
0040556C . 84C0 test al,al
0040556E . 74 17 je short 局域网查.00405587
00405570 . 6A 00 push 0
00405572 . 6A 00 push 0
00405574 . 68 E4A34100 push 局域网查.0041A3E4 ; 注册成功,请重新运行程序
00405579 . 8BCE mov ecx,esi
0040557B . E8 E2BE0000 call
00405580 . 8BCE mov ecx,esi
00405582 . E8 F3BB0000 call
00405587 > 8D4C24 10 lea ecx,dword ptr ss:[esp+10]
0040558B . C74424 20 FFF>mov dword ptr ss:[esp+20],-1
00405593 . E8 18890000 call 局域网查.0040DEB0
00405598 > 8B4C24 18 mov ecx,dword ptr ss:[esp+18]
0040559C . 5F pop edi
0040559D . 5E pop esi
0040559E . 64:890D 00000>mov dword ptr fs:[0],ecx
004055A5 . 5B pop ebx
004055A6 . 83C4 18 add esp,18
004055A9 . C3 retn
重启验证部分:
0040D6F0 /$ 6A FF push -1
0040D6F2 |. 68 C6334100 push 局域网查.004133C6 ; SE 句柄安装
0040D6F7 |. 64:A1 0000000>mov eax,dword ptr fs:[0]
0040D6FD |. 50 push eax
0040D6FE |. 64:8925 00000>mov dword ptr fs:[0],esp
0040D705 |. 81EC 80000000 sub esp,80
0040D70B |. 53 push ebx
0040D70C |. 56 push esi
0040D70D |. 8BF1 mov esi,ecx
0040D70F |. 51 push ecx
0040D710 |. 8BCC mov ecx,esp
0040D712 |. 896424 18 mov dword ptr ss:[esp+18],esp
0040D716 |. 68 00A44100 push 局域网查.0041A400 ; software\lansee
0040D71B |. E8 B2390000 call <jmp.&MFC42.#537>
0040D720 |. 68 02000080 push 80000002
0040D725 |. 8D4C24 24 lea ecx,dword ptr ss:[esp+24]
0040D729 |. E8 12070000 call 局域网查.0040DE40
0040D72E |. 8D4424 14 lea eax,dword ptr ss:[esp+14]
0040D732 |. 33DB xor ebx,ebx
0040D734 |. 50 push eax
0040D735 |. 51 push ecx
0040D736 |. 8BCC mov ecx,esp
0040D738 |. 896424 18 mov dword ptr ss:[esp+18],esp
0040D73C |. 68 FCA34100 push 局域网查.0041A3FC ; vip
0040D741 |. 899C24 9C0000>mov dword ptr ss:[esp+9C],ebx
0040D748 |. E8 85390000 call <jmp.&MFC42.#537>
0040D74D |. 8D4C24 24 lea ecx,dword ptr ss:[esp+24]
0040D751 |. E8 7A070000 call 局域网查.0040DED0
0040D756 3AC3 cmp al,bl
0040D758 0F85 27010000 jnz 局域网查.0040D885 ;这里改成jmp后就成了不要注册的注册版了
0040D75E |. 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
0040D762 |. 881D 78A44100 mov byte ptr ds:[41A478],bl
0040D768 |. E8 53390000 call <jmp.&MFC42.#540>
0040D76D |. 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
0040D771 |. C68424 900000>mov byte ptr ss:[esp+90],1
0040D779 |. 51 push ecx
0040D77A |. 8BCE mov ecx,esi
0040D77C |. E8 293D0000 call <jmp.&MFC42.#3874>
0040D781 |. 8D5424 0C lea edx,dword ptr ss:[esp+C]
0040D785 |. 68 0CA74100 push 局域网查.0041A70C ; [未注册]
0040D78A |. 8D4424 14 lea eax,dword ptr ss:[esp+14]
0040D78E |. 52 push edx
0040D78F |. 50 push eax
0040D790 |. E8 5B390000 call <jmp.&MFC42.#924>
0040D795 |. 8B00 mov eax,dword ptr ds:[eax]
0040D797 |. 8BCE mov ecx,esi
0040D799 |. 50 push eax
0040D79A |. C68424 940000>mov byte ptr ss:[esp+94],2
0040D7A2 |. E8 A33C0000 call <jmp.&MFC42.#6199>
0040D7A7 |. 8D4C24 10 lea ecx,dword ptr ss:[esp+10]
0040D7AB |. C68424 900000>mov byte ptr ss:[esp+90],1
0040D7B3 |. E8 D8380000 call <jmp.&MFC42.#800>
0040D7B8 |. 8D4C24 08 lea ecx,dword ptr ss:[esp+8]
0040D7BC |. 895C24 08 mov dword ptr ss:[esp+8],ebx
0040D7C0 |. 51 push ecx
0040D7C1 |. 51 push ecx
0040D7C2 |. 8BCC mov ecx,esp
0040D7C4 |. 896424 20 mov dword ptr ss:[esp+20],esp
0040D7C8 |. 68 04A74100 push 局域网查.0041A704 ; count
0040D7CD |. E8 00390000 call <jmp.&MFC42.#537>
0040D7D2 |. 8D4C24 24 lea ecx,dword ptr ss:[esp+24]
0040D7D6 |. E8 F5060000 call 局域网查.0040DED0
0040D7DB |. 8B4424 08 mov eax,dword ptr ss:[esp+8]
0040D7DF |. 53 push ebx
0040D7E0 |. C1E8 08 shr eax,8
0040D7E3 |. 50 push eax
0040D7E4 |. 8D4C24 2C lea ecx,dword ptr ss:[esp+2C]
0040D7E8 |. 894424 10 mov dword ptr ss:[esp+10],eax
0040D7EC |. E8 6F70FFFF call 局域网查.00404860
0040D7F1 |. 8D4C24 24 lea ecx,dword ptr ss:[esp+24]
0040D7F5 |. C68424 900000>mov byte ptr ss:[esp+90],3
0040D7FD |. E8 84390000 call <jmp.&MFC42.#2514>
0040D802 |. 8B4424 08 mov eax,dword ptr ss:[esp+8]
0040D806 |. 40 inc eax
0040D807 |. 83F8 1E cmp eax,1E
0040D80A |. 894424 08 mov dword ptr ss:[esp+8],eax
0040D80E |. 77 07 ja short 局域网查.0040D817
0040D810 |. C605 78A44100>mov byte ptr ds:[41A478],1
0040D817 |> 53 push ebx ; /timer
0040D818 |. FF15 AC474100 call dword ptr ds:[<&MSVCRT.time>] ; \time
0040D81E |. 50 push eax ; /seed
0040D81F |. FF15 A8474100 call dword ptr ds:[<&MSVCRT.srand>] ; \srand
0040D825 |. 83C4 08 add esp,8
0040D828 |. FF15 A4474100 call dword ptr ds:[<&MSVCRT.rand>] ; [rand
0040D82E |. 25 FF000080 and eax,800000FF
0040D833 |. 79 07 jns short 局域网查.0040D83C
0040D835 |. 48 dec eax
0040D836 |. 0D 00FFFFFF or eax,FFFFFF00
0040D83B |. 40 inc eax
0040D83C |> 8B5424 08 mov edx,dword ptr ss:[esp+8]
0040D840 |. C1E2 08 shl edx,8
0040D843 |. 03C2 add eax,edx
0040D845 |. 50 push eax
0040D846 |. 51 push ecx
0040D847 |. 8BCC mov ecx,esp
0040D849 |. 896424 20 mov dword ptr ss:[esp+20],esp
0040D84D |. 68 04A74100 push 局域网查.0041A704 ; count
0040D852 |. 894424 14 mov dword ptr ss:[esp+14],eax
0040D856 |. E8 77380000 call <jmp.&MFC42.#537>
0040D85B |. 8D4C24 24 lea ecx,dword ptr ss:[esp+24]
0040D85F |. E8 EC060000 call 局域网查.0040DF50
0040D864 |. 8D4C24 24 lea ecx,dword ptr ss:[esp+24]
0040D868 |. C68424 900000>mov byte ptr ss:[esp+90],1
0040D870 |. E8 2D3B0000 call <jmp.&MFC42.#641>
0040D875 |. 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
0040D879 |. 889C24 900000>mov byte ptr ss:[esp+90],bl
0040D880 |. E8 0B380000 call <jmp.&MFC42.#800>
0040D885 |> 8D4C24 1C lea ecx,dword ptr ss:[esp+1C]
0040D889 |. C78424 900000>mov dword ptr ss:[esp+90],-1
0040D894 |. E8 17060000 call 局域网查.0040DEB0
0040D899 |. 8B8C24 880000>mov ecx,dword ptr ss:[esp+88]
0040D8A0 |. 5E pop esi
0040D8A1 |. 64:890D 00000>mov dword ptr fs:[0],ecx
0040D8A8 |. 5B pop ebx
0040D8A9 |. 81C4 8C000000 add esp,8C
0040D8AF \. C3 retn
算法总结:
1、用户名必须为9位
2、第2、5、7、8、10位注册码必须为:1、9、9、7、5 (也就是说注册码长度最少也要10位)
3、随便构造注册码吧
name:woshinull
key:1123969795
通过对重启验证部分跟踪分析得知,此程序判断注册与否的标准实在是太简单了:
检查 HKEY_LOCAL_MACHINE\SOFTWARE\LanSee 下面是否存在名称为"VIP",值类型为DWORD的项,存在即为注册版,不存在即为未注册版
HKEY_LOCAL_MACHINE\SOFTWARE\LanSee\Count 保存的是已经使用的次数
这程序,爆破来得更简单,把重启验证部分的:
0040D758 0F85 27010000 jnz 局域网查.0040D885 //把这里的jnz改成jmp就成了不用注册的注册版了
绿色爆破免注册版下载地址:http://www.52pojie.cn/viewthread.php?tid=51172&extra=
--------------------------------------------------------------------------------
【版权声明】: 本文原创于null, 转载请注明作者并保持文章的完整, 谢谢!
2010年07月03日 PM 06:04:23 |
|