花指令大整理2

【深层】伪装 PEtite 2.2 -> Ian Luck  汇编代码:
============================
伪装代码部分:
============================

mov eax,0040E000
push 004153F3
push dword ptr fs:[0]
mov dword ptr fs:[0],esp
pushfw
pushad
push eax
xor ebx,ebx
pop eax
popad
popfw
pop dword ptr fs:[0]
pop eax
jmp XXXXXXXX        '执行到程序的原有OEP

============================

【深层】伪装 WCRT Library (Visual C++) DLL Method 1 -> Jibz  二进制代码 + 汇编代码:
============================
伪装代码部分:
============================

使用二进制粘贴以下代码:

55 8B EC 83 7D 0C 01 75 41 A1 C0 30 00 10 85 C0 74 0A FF D0 85 C0 75 04 6A FE EB 17 68 0C 30 00 10 68 08 30 00 10 E8 89 00 00 00 85 C0 59 59 74 08 6A FD FF 15 08 20 00 10 68 04 30 00 10 68 00 30 00 10 E8 52 00 00 00 59 59

粘贴完毕后,再添加2行汇编语句:

jmp XXXXXXXX        '执行到程序的原有OEP
retn 0C

1。伪装 vc

VC++程序的入口代码:
PUSH EBP                   
MOV EBP,ESP                 
PUSH -1                     
push 415448            -\___
PUSH 4021A8            -/  在这段代码中类似这样的操作数可以乱填     
MOV EAX,DWORD PTR FS:[0]         
PUSH EAX                   
MOV DWORD PTR FS:[0],ESP         
ADD ESP,-6C                 
PUSH EBX                   
PUSH ESI                   
PUSH EDI 
ADD BYTE PTR DS:[EAX],AL  /这条指令可以不要!
jmp 跳转到程序原来的入口点

******************************************************************************************

2。跳转

somewhere:           
    nop            /"胡乱"跳转的开始...
    jmp 下一个jmp的地址  /在附近随意跳
    jmp ...          /...
    jmp 原入口的地址    /跳到原始oep

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
新入口: push ebp
    mov ebp,esp
    inc ecx
    push edx
    nop
    pop edx
    dec ecx
    pop ebp
    inc ecx
    loop somewhere    /跳转到上面那段代码地址去!


3. 伪装 C
融合
把A的代码换成B的
push ebp
mov ebp,esp
push -1
push 111111
push 222222
mov eax,fs:[0]
push eax
mov fs:[0],esp
pop eax
mov fs:[0],eax
pop eax
pop eax
pop eax
pop eax
mov ebp,eax
jmp 老入口

4. c ++
push ebp
mov ebp,esp
push -1
push 111111
push 222222
mov eax,fs:[0]
push eax
mov fs:[0],esp
pop eax
mov fs:[0],eax
pop eax
pop eax
pop eax
pop eax
mov ebp,eax


5.Microsoft Visual C++ 6.0
PUSH -1
PUSH 0
PUSH 0
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,68
PUSH EBX
PUSH ESI
PUSH EDI
POP EAX
POP EAX
POP EAX
ADD ESP,68
POP EAX
MOV DWORD PTR FS:[0],EAX
POP EAX
POP EAX
POP EAX
POP EAX
MOV EBP,EAX
JMP 原入口
6.
在mov ebp,eax
后面加上
PUSH EAX
POP EAX

7:
防杀精灵一号防杀代码:
push ebp
mov ebp,esp
push -1
push 666666
push 888888
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
pop eax
mov dword ptr fs:[0],eax
pop eax
pop eax
pop eax
pop eax
mov ebp,eax
jmp 入口

8:
防杀精灵二号防杀代码:
push ebp
mov ebp,esp
push -1
push 0
push 0
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
sub esp,68
push ebx
push esi
push edi
pop eax
pop eax
pop eax
add esp,68
pop eax
mov dword ptr fs:[0],eax
pop eax
pop eax
pop eax
pop eax
mov ebp,eax
jmp 入口

9.
防杀精灵终极防杀代码
push ebp
mov ebp,esp
add esp,-0C
add esp,0C
push eax
jmp入口

10:
木马彩衣(金色鱼锦衣)花代码
push ebp
mov ebp,esp
add esp,-0C
add esp,0C
mov eax,原入口
push eax
retn

11:
木马彩衣(虾米披风)花代码
push ebp
nop
nop
mov ebp,esp
inc ecx
nop
push edx
nop
nop
pop edx
nop
pop ebp
inc ecx
loopd /跳转到下面那段代码地址去!
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
nop            /"胡乱"跳转的开始...
jmp 下一个jmp的地址  /在附近随意跳
jmp ...          /...
jmp 原入口的地址    /跳到原始oep

12.
VC++5.0代码(木马彩衣无限复活袍):
PUSH EBP                               
MOV EBP,ESP                           
PUSH -1                               
push 415448                  -\___
PUSH 4021A8                  -/  在这段代码中类似这样的操作数可以乱填         
MOV EAX,DWORD PTR FS:[0]               
PUSH EAX                               
MOV DWORD PTR FS:[0],ESP               
ADD ESP,-6C                           
PUSH EBX                               
PUSH ESI                               
PUSH EDI   
ADD BYTE PTR DS:[EAX],AL  /这条指令可以不要!
jo 00401000                /原入口
jno 00401000              /原入口
db 0e8h                    /花代码

本文出自 “blacksnow's BLOG” 博客,转载请与作者联系!

你可能感兴趣的:(职场,休闲,花指令,免杀)