网上收集的几个花指令

风清扬斈 14年前 (2006-02-06) 信息科技 4288 0



c++花指令:

00460000: 55                             PUSH EBP
00460001: 8B EC                          MOV EBP,ESP
00460003: 6A FF                          PUSH FF
00460005: 68 2A 2C 0A 00                 PUSH 000A2C2A
0046000A: 68 38 90 0D 00                 PUSH 000D9038
0046000F: 64 A1 00 00 00 00              MOV EAX,FS:[00000000]
00460015: 50                             PUSH EAX
00460016: 64 89 25 00 00 00 00           MOV FS:[00000000],ESP
0046001D: 58                             POP EAX
0046001E: 64 A3 00 00 00 00              MOV FS:[00000000],EAX
00460024: 58                             POP EAX
00460025: 58                             POP EAX
00460026: 58                             POP EAX
00460027: 58                             POP EAX
00460028: 8B E8                          MOV EBP,EAX
0046002A: B8 98 CA 44 00                 MOV EAX,0044CA98
0046002F: FF E0                          JMP EAX
00460031: 90                             NOP 
00460032: 00 00                          ADD [EAX],AL
00460034: 00 00                          ADD [EAX],AL
00460036: 00 00                          ADD [EAX],AL
00460038: 00 00                          ADD [EAX],AL
0046003A: 00 00                          ADD [EAX],AL
0046003C: 00 00                          ADD [EAX],AL
0046003E: 00 00                          ADD [EAX],AL


OEPCODE: THEAD = 
   ($55, $8B, $EC, $6A, $FF, $68, $2A, $2C, $0A, $00, $68, $38,
    $90, $0D, $00, $64, $A1, $00, $00, $00, $00, $50, $64, $89,
    $25, $00, $00, $00, $00, $58, $64, $A3, $00, $00, $00, $00,
    $58, $58, $58, $58, $8B, $E8, $B8, $00, $10, $40, $00, $FF,
    $E0, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
    $00, $00, $00, $00);


网上收集了几个花指令! 
  
 
 
花指令: 
push ebp 
mov ebp,esp 
inc ecx 
push edx 
nop 
pop edx 
dec ecx 
pop ebp 
inc ecx 
jmp 原入口 

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.VC++ 5.0
PUSH EBP                                
MOV EBP,ESP                             
PUSH -1                                 
push 515448                  
PUSH 6021A8                  
MOV EAX,DWORD PTR FS:[0]                
PUSH EAX                                
MOV DWORD PTR FS:[0],ESP                
ADD ESP,-6C                             
PUSH EBX                                
PUSH ESI                                
PUSH EDI     
jmp

另外附上几个在线破解MD5的网站

国外——
http://md5.rednoize.com/ 
这个站是一个搜索引擎的形式.支持双向转换,即:MD5散列-〉字符串 字符串-〉MD5散列 
这个使用比较简单,在上面的文本框中输入MD5散列或者字符串,即可得到相应的字符串或者MD5散列,当然,必须是其数据库中有记录的. 
目前拥有1,963,442条记录 
http://www.milw0rm.com/md5/list.php 
这个站目前拥有一万多条记录 
-::MD5 HASH中显示的是MD5散列 
-::PASS中显示的是字符串,也就是破解出来的密码,但是也有-notfound-出现 
-::STATUS中显示的是当前的状态,还没有开始破解时显示的是waiting,如果在破解中,则显示processing,已破解出来的是completed 
在[ search ] 中可以输入MD5散列来搜索,字符串 
在[ insert ] 中可以提交你没有搜索到的MD5散列,让他们来替你破解,过段时间再来看看. 

国内—— 
MD5收集查询:http://www.neeao.com/md5/ 主页显示目前拥有105595条记录 
MD5在线查询:http://www.xmd5.org/ 主页显示目前拥有500W条记录 
这两个都是中文的,大家都看的懂,就不多做介绍了. 
所以以后再遇到MD5,就先到这几个站搜索一下看看有没有记录,有的话就不用浪费时间,浪费精力的去跑了.当然,如果没的话,还是自己慢慢跑吧..
 

两段伪装指令.

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

【深层】伪装 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

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

"

相关推荐

  • 网友评论

    • (*)

    最新评论