现在的位置: 首页 > 综合 > 正文

网上收集的几个花指令

2013年06月14日 ⁄ 综合 ⁄ 共 4244字 ⁄ 字号 评论关闭

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

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

抱歉!评论已关闭.