WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2113查看
  • 0回复

主题

好友

604

积分

高级会员

发表于 2010-1-14 12:15:45 |显示全部楼层
今天用2种方法教大家脱北斗主程序
方法一:ESP定律法


方法二:“巧”方法
大家应该知道北斗主程序是VC++写的
那么根据VC++特征


0042481F    55              push ebp
00424820    8BEC            mov ebp,esp
00424822    6A FF          push -1
00424824    68 C8674400    push nspack_1.004467C8
00424829    68 CC3C4200    push nspack_1.00423CCC
0042482E    64:A1 00000000  mov eax,dword ptr fs:[0]
00424834    50              push eax
00424835    64:8925 0000000>mov dword ptr fs:[0],esp
0042483C    83EC 58        sub esp,58
0042483F    53              push ebx
00424840    56              push esi
00424841    57              push edi
00424842    8965 E8        mov dword ptr ss:[ebp-18],esp
00424845    FF15 A0224400  call dword ptr ds:[4422A0] ; kernel32.GetVersion
0042484B    33D2            xor edx,edx

大家要注意到的就是GetVersion这个函数~~

那么我们在命令行下断点
at GetVersion

77E5D142 k>  64:A1 18000000  mov eax,dword ptr fs:[18]  //暂停在这里
77E5D148    8B48 30        mov ecx,dword ptr ds:[eax+30]
77E5D14B    8B81 B0000000  mov eax,dword ptr ds:[ecx+B0]
77E5D151    0FB791 AC000000 movzx edx,word ptr ds:[ecx+AC]
77E5D158    83F0 FE        xor eax,FFFFFFFE
77E5D15B    C1E0 0E        shl eax,0E
77E5D15E    0BC2            or eax,edx
77E5D160    C1E0 08        shl eax,8
77E5D163    0B81 A8000000  or eax,dword ptr ds:[ecx+A8]
77E5D169    C1E0 08        shl eax,8
77E5D16C    0B81 A4000000  or eax,dword ptr ds:[ecx+A4]
77E5D172    C3              retn  //在段尾F2下断,Shift+F9运行中断下来!F8单步!


0042484B    33D2            xor edx,edx  //返回到这里了,拉上去看看^-^
0042484D    8AD4            mov dl,ah
---------------------------------------------------------------------------------
喜欢玩马的朋友经常用北斗在加壳

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-4 10:37 , Processed in 0.061149 second(s), 16 queries .

返回顶部