【文章标题】: 两步脱北斗程序压缩3.5 加的壳
【文章作者】: 山河谷
【作者邮箱】: fpx_123@126.com
【软件名称】: windows xp sp1 自带notepad
【软件大小】: 46k
【下载地址】: www.google.com
【加壳方式】: 北斗程序压缩3.5
【保护方式】: 北斗默认
【使用工具】: OD
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
本文根据esp定律来脱北斗3.5加的壳
不懂esp定律的请参考有关破文
OD加载后进入入口点
0101A0FD > 9C pushfd ;典型的北斗壳的入口
0101A0FE 60 pushad
0101A0FF E8 00000000 call 0101A104 ; 我们cpu窗口看到esp的值0006FFA0
0101A104 5D pop ebp
0101A105 83ED 07 sub ebp, 7
0101A108 8D85 53FDFFFF lea eax, [ebp-2AD]
0101A10E 8038 01 cmp byte ptr [eax], 1
在数据区ctrl+G 到0006FFA0
下硬件访问断点 要dword
F9 到
0101A36F 61 popad
0101A370 9D popfd ; 运行到这里
0101A371 - E9 6AC7FEFF jmp 01006AE0 ; 要跳到oep了
跳到
01006AE0 6A 70 push 70 ;入口点 脱
01006AE2 68 88180001 push 01001888
01006AE7 E8 BC010000 call 01006CA8
01006AEC 33DB xor ebx, ebx
01006AEE 53 push ebx
01006AEF 8B3D 4C110001 mov edi, [100114C] ; kernel32.GetModuleHandleA
01006AF5 FFD7 call edi
01006AF7 66:8138 4D5A cmp word ptr [eax], 5A4D
01006AFC 75 1F jnz short 01006B1D
01006AFE 8B48 3C mov ecx, [eax+3C]
01006B01 03C8 add ecx, eax
01006B03 8139 50450000 cmp dword ptr [ecx], 4550
01006B09 75 12 jnz short 01006B1D
01006B0B 0FB741 18 movzx eax, word ptr [ecx+18]
01006B0F 3D 0B010000 cmp eax, 10B
01006B14 74 1F je short 01006B35
脱了可以正常运行
对于不能正常运行的 请用importRec1.6 修复。
QQ:277155063
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年04月14日 11:33:34
[课程]FART 脱壳王!加量不加价!FART作者讲授!