本文介绍怎样让查壳工具查壳失效!
伪装 Microsoft Visual C++ 6.0 汇编代码:
============================
伪装代码部分:
============================
push ebp
mov ebp,esp
push -1
push 11111111
push 22222222
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
sub esp,58
push ebx
push esi
push edi
jmp XXXXXXXX '执行到程序的原有OEP
============================
实例操作部分:
============================
比如:
1.用UPX对NOTEPAD加密后,PEiD这时检测为 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
2.再用LordPE查看程序加密后的入口点为 000115F0 ,映像基址为 01000000 ,记录下000115F0
3.然后用ZeroAdd给加密后的程序增加一个区段,用LordPE编辑新区段启动位置,这时新区段偏移量为00013000 ,修改入口点为00013000 保存。
4.最后用Ollydbg载入修改后的程序,载入如下:
01013000 > 0000 add byte ptr ds:[eax],al //入口点为空白数据,双击修改为以上的汇编
01013002 0000 add byte ptr ds:[eax],al //代码保存即可!
01013004 0000 add byte ptr ds:[eax],al //注意,最后一行要跳回“JMP”原始的OEP!
01013006 0000 add byte ptr ds:[eax],al //OEP计算方法:000115F0+01000000=010115F0
01013008 0000 add byte ptr ds:[eax],al
0101300A 0000 add byte ptr ds:[eax],al
0101300C 0000 add byte ptr ds:[eax],al
0101300E 0000 add byte ptr ds:[eax],al
01013010 0000 add byte ptr ds:[eax],al
01013012 0000 add byte ptr ds:[eax],al
01013014 0000 add byte ptr ds:[eax],al
01013016 0000 add byte ptr ds:[eax],al
5.运行!查壳!PEiD这时检测为 Microsoft Visual C++ 6.0 ,呵呵!
========================================
PaCkEd? By KuNgBiM
========================================
打包实例:
附件:KuNgBiM.rar
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课