有什么工具可以伪装编程语言?

有什么工具可以伪装编程语言?,第1张

解决方法:

一.加花指令。可以通过OD之类的软件修改你的软件的入口地址,加上花指令就可以了。下面是搜索到的常用花指令,直接复制过来的可能有重复。你可以试试,如果不够或不准确的话,你也可以自己搜索以下,当然你会汇编的话也可以写。

1.伪装vc++5.0代码

PUSH EBP

MOV EBP,ESP

PUSH -1

push 111111 -\___

PUSH 111111 -/ 在这段代码中类似这样的 *** 作数可以乱填

MOV EAX,DWORD PTR FS:[0]

PUSH EAX

MOV DWORD PTR FS:[0],ESP

ADD ESP,-6C

PUSH EBX

PUSH ESI

PUSH EDI

nop

jmp 原入口地址

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

2.胡乱跳转代码:

push ebp

mov ebp,esp

inc ecx

push edx

ADD ESP,-6C

nop

pop edx

dec ecx

pop ebp

ADD ESP,6C

inc ecx

loop somewhere /跳转到上面那段代码地址去!

somewhere:

nop /"胡乱"跳转的开始...

jmp 下一个jmp的地址 /在附近随意跳

jmp ... /...

jmp 原入口地址 /跳到原始oep

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

3.伪装c++代码:

push eax

mov ebp,esp

push -1

push 111111

push 111111

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

nop

nop

jmp 原入口地址

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

4.伪装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,1

PUSH EBX

PUSH ESI

PUSH EDI

POP EAX

POP EAX

nop

POP EAX

nop

ADD ESP,1

POP EAX

MOV DWORD PTR FS:[0],EAX

POP EAX

POP EAX

nop

POP EAX

nop

POP EAX

MOV EBP,EAX

JMP 原入口地址

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

5.伪装防杀精灵一号防杀代码:

push ebp

mov ebp,esp

push -1

push 666666

push 888888

mov eax,dword ptr fs:[0]

nop

mov dword ptr fs:[0],esp

nop

mov dword ptr fs:[0],eax

pop eax

pop eax

pop eax

pop eax

mov ebp,eax

jmp 原入口地址

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

6.伪装防杀精灵二号防杀代码:

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 原入口地址

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

7.伪装木马彩衣(无限复活袍)代码:

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 原入口地址

jno 原入口地址

call 下一地址

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

8.伪装木马彩衣(虾米披风)代码:

push ebp

nop

nop

mov ebp,esp

inc ecx

nop

push edx

nop

nop

pop edx

nop

pop ebp

inc ecx

loop somewhere /跳转到下面那段代码地址去!

someshere:

nop /"胡乱"跳转的开始...

jmp 下一个jmp的地址 /在附近随意跳

jmp ... /...

jmp 原入口的地址 /跳到原始oep

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

9.伪装花花添加器(神话)代码:-----------根据C++改

nop

nop

nop

mov ebp,esp

push -1

push 111111

push 222222

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

mov eax,原入口地址

push eax

retn

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

10.伪装花花添加器(无极)代码:

nop

mov ebp, esp

push -1

push 0A2C2A

push 0D9038

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

mov eax, 原入口地址

jmp eax

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

11.伪装花花添加器(金刚)代码:--------根据VC++5.0改

nop

nop

mov ebp, esp

push -1

push 415448

push 4021A8

mov eax, fs:[0]

push eax

mov fs:[0], esp

add esp, -6C

push ebx

push esi

push edi

add [eax], al

mov eax,原入口地址

jmp eax

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

12.伪装花花添加器(杀破浪)代码:

nop

mov ebp, esp

push -1

push 0

push 0

mov eax, fs:[0]

push eax

mov fs:[0], esp

sub esp, 68

push ebx

push esi

push edi

pop eax

pop eax

pop eax

add esp, 68

pop eax

mov fs:[0], eax

pop eax

pop eax

pop eax

pop eax

mov ebp, eax

mov eax, 原入口地址

jmp eax

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

12.伪装花花添加器(痴情大圣)代码:

nop

..........省略N行nop

nop

push ebp

mov ebp, esp

add esp, -0C

add esp, 0C

mov eax, 原入口地址

push eax

retn

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

13.伪装花花添加器(如果*爱)代码:

nop

........省略N行nop

nop

push ebp

mov ebp, esp

inc ecx

push edx

nop

pop edx

dec ecx

pop ebp

inc ecx

mov eax, 原入口地址

jmp eax

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

14.伪装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 原入口地址 '执行到程序的原有OEP

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

15.无效PE文件代码:

push ebp

mov ebp,esp

inc ecx

push edx

nop

pop edx

dec ecx

pop ebp

inc ecx

MOV DWORD PTR FS:[0],EAX \

POP EAX |

POP EAX \

MOV DWORD PTR FS:[0],EAX |(注意了。。花指令)

POP EAX /

POP EAX |

MOV DWORD PTR FS:[0],EAX /

loop 原入口地址

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

16.伪装防杀精灵终极防杀代码:

push ebp

mov ebp,esp

add esp,-0C

add esp,0C

push eax

jmp 原入口地址

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

17.伪装木马彩衣(金色鱼锦衣)花代码

push ebp

mov ebp,esp

add esp,-0C

add esp,0C

mov eax,原入口地址

push eax

retn

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

18.

在mov ebp,eax

后面加上

PUSH EAX

POP EAX

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

19.伪装UPX花指令代码:

pushad

mov esi,m.0044D000

lea edi,dword ptr ds:[esi+FFFB4000]

push edi

or ebp,FFFFFFFF

jmp short m.00477F2A

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

20.

push ebp

mov ebp,esp

inc ecx

push edx

pop edx

dec ecx

pop ebp

inc ecx

jmp 原入口

21、

push ebp

nop

nop

mov ebp,esp

inc ecx

nop

push edx

nop

nop

pop edx

nop

pop ebp

inc ecx

loop A1地址

nop

nop

A1:push ebp

mov ebp,esp

jo 原入口

jno 原入口

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

【深层】伪装 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 原入口地址 '执行到程序的原有OEP

retn 0C

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

发布几个不常见的花指令

B1 01 mov cl,1

2C 90 sub al,90

95 xchg eax,ebp

4D dec ebp

65:42 inc edx

40 inc eax

20C4 and ah,al

8350 06 6E adc dword ptr ds:[eax+6],6E

226A E4 and ch,byte ptr ds:[edx-1C]

E8 B15FBC5B call 入口点

55 push ebp

8BEC mov ebp,esp

51 push ecx

53 push ebx

8BD8 mov ebx,eax

8BC3 mov eax,ebx

04 9F add al,9F

2C 1A sub al,1A

73 03 jnb 入口点

JMP SHORT test.00414FB5 (EB 01)

NOP

JMP SHORT test.00414FB8 (EB 01)

NOP

JMP SHORT test.00414FBB (EB 01)

NOP

JMP test. (EB 01)

90=c4

PUSH EBP

MOVE EBP,ESP

inc ecx

push eax

pop eax

push edx

pop edx

dec ecx

sub eax,-2

ADD ESP,68

DEC eax

DEC eax

SUB ESP,68

JPE 入口

JPO 入口

2008-6-13 11:30 dazy

花指令合集(0608)

【深层】伪装 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 /花代码

xxxxxx: nop \

/|\ POP EAX |看了,其实这两部分就是花指令

| POP EAX |

| POP EAX /

| JMP yyyyyy (跳回旧入口点:00100016DB )

|

|

| push ebp <-新入口点:

| mov ebp,esp

| inc ecx

| push edx

| nop

| pop edx

| dec ecx

| pop ebp

| inc ecx

| MOV DWORD PTR FS:[0],EAX \

| POP EAX |

| POP EAX \

| MOV DWORD PTR FS:[0],EAX |(注意了。。花指令)

| POP EAX /

| POP EAX |

| MOV DWORD PTR FS:[0],EAX /

| loop xxxxxx (这里我向上跳~地址也是自己选的~~)

|_________________++++++(转到地址:100036c3 往回跳)

--------------------------------------------------------------

代码如下: 神话

nop

nop

nop

mov ebp,esp

push -1

push 111111

push 222222

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

mov eax,原入口

push eax

retn

代码如下: 无极

nop

mov ebp, esp

push -1

push 0A2C2A

push 0D9038

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

mov eax, 原入口

jmp eax

代码如下: 金刚

nop

nop

mov ebp, esp

push -1

push 415448

push 4021A8

mov eax, fs:[0]

push eax

mov fs:[0], esp

add esp, -6C

push ebx

push esi

push edi

add [eax], al

mov eax,原入口

jmp eax

代码如下: 杀破浪

nop

mov ebp, esp

push -1

push 0

push 0

mov eax, fs:[0]

push eax

mov fs:[0], esp

sub esp, 68

push ebx

push esi

push edi

pop eax

pop eax

pop eax

add esp, 68

pop eax

mov fs:[0], eax

pop eax

pop eax

pop eax

pop eax

mov ebp, eax

mov eax, 原入口

jmp eax

代码如下: 痴情大圣

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

push ebp

mov ebp, esp

add esp, -0C

add esp, 0C

mov eax, 原入口

push eax

retn

代码如下: 如果*爱

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

push ebp

mov ebp, esp

inc ecx

push edx

nop

pop edx

dec ecx

pop ebp

inc ecx

mov eax, 原入口

jmp eax

--------------------------------------------------------

灰鸽子万能文件捆绑器 VIP2005 ->葛军 *

push ebp

mov ebp,esp

add esp,-124

push ebx

push esi

push edi

xor eax,eax

mov dword ptr ss:[ebp-124],eax

jmp 入口

----------------------------------------------------------

PUSH EBP

MOV EBP,ESP

MOV EAX,0

PUSH EAX

CALL 下个指令 ↓

POP EAX

SUB EAX,0

MOV ECX,0

MOV EDX,0

MOV ESI,0

MOV EDI,0

MOV EBP,0

ADD EBP,EAX

POP EAX

POP EAX

POP EAX

POP EAX

POP EBP

PUSH 入口点

RETN

----------------------------------------------------------------

//Borland Delphi 6.0 - 7.0

PUSH EBP

MOV EBP,ESP

MOV ECX,6

PUSH 0 下面那个跳到这里

PUSH 0

DEC ECX

JNZ 往回跳

PUSH EBX

PUSH ESI

PUSH EDI

POP EDI

POP ESI

POP EBX

JMP 入口点

-----------------------------------------------------------------

push ebp

mov ebp,esp

inc edx

nop

pop edx

dec ecx

pop ebp

inc ecx

jmp 入口点

-----------------------------------------------------------------

push ebp

mov ebp,esp

push ebx

mov ebx,dword ptr ss:[ebp+8]

push esi

mov esi,dword ptr ss:[ebp+C]

push edi

mov edi,dword ptr ss:[ebp+10]

test esi,esi

jmp 入口

-----------------------------------------------------------------

0046D4BA pop eax

0046D4BB sub eax,7D

0046D4C0 push eax

0046D4C1 C3 retn

0046D4C2 call 0046D4BA

-------------------------------------------------------------------

伪装VC7。0花

最近抓的伪装VC7。0的花,很短

//---------------------------------

push 70

push 123456(数字随便)

call A(A为地址)

xor ebx,ebx

A地址:retn

2008-6-13 11:30 dazy

1.POP 0

POP 0

2.PUSH ebp

pop ebp

3.nop ----一般插在中间

4.jmp 一下jmp的地址

jmp ...

5.add esp,1 ----数字可以改变

sub esp,1

6. add esp,1

add esp,-1

7.sub esp,1

sub esp,-1

8.push esi

push edi

9.inc ecx

dec ecx

10 sub eax,-2

dec eax

dec eax

11.(该免杀花指令经典,压缩可运行,免卡巴)

push ebp

mov ebp,esp

pop esp

jmp 原入口点地址-

jmp XXXXXX等价于:

PUSH XXXXXX

RETN

12. 免杀卡巴的花指令:

push ebx

push ebx

push ebx

pop ebx

pop ebx

pop ebx

jmp 跳到下一个地址

add esp,1

add esp,-1

push 入口点地址

retn

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

12.(同上)

push ebp

push esp

pop ebp

pop esp

jmp 原入口点地址

13.最新的一段万能免杀花指令:

push ebp

push esp

pop ebp

add esp,-0C

add esp,0C

push eax

jmp入口

14.免杀花指令

push ebp

mov ebp,esp

add esp,-0C

add esp,0C

push eax

mov eax,入口地址

jmp eax

nop

15.

jmp 改成:Jg(大于转移),JL(小于转移)

或改成:jb(小于转移),jnb(大于或等于转移)

16.写过卡巴花指令的跳不要直接用jmp来跳,不然,要被直接杀

jmp ---直接被杀

改成

jb

jnb

或改成:

push 入口地址

retn

或改成:

mov eax,入口地址

jmp eax

17.一段免杀卡巴的花指令:

push ebx

push ebx

pop ebx

pop ebx

add esp,1

add esp,-1

push 入口地址

retn

二。可以通过加壳工具,让别人识别不出来你用什么编写的。加壳工具分压缩壳和加密壳。我就不再列出了。

注意:因为有的人做木马或病毒通过加花或加壳来实现免杀。所以有的是会被杀毒软件认为是木马或病毒。

加壳:其实是利用特殊的算法,对可执行文件里的资源进行压缩,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。附加在原程序上通过加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。

加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。

加花:是在一些反汇编软件中加入一些花指令,花指令是利用了反汇编时单纯根据机器指令字来决定反汇编结果的漏洞。

去壳:顾名思义,就是对软件加壳的逆 *** 作,把软件上存在的壳去掉。在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。

一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。

扩展资料:  

加“壳”虽然增加了CPU负担,但是减少了硬盘读写时间,实际应用时加“壳”以后程序运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。

一般软件都加“壳”这样不但可以保护自己的软件不被破解、修改还可以增加运行时启动速度。

加“壳”不等于木马,平时的绝大多数软件都加了自己的专用“壳”。

RAR和ZIP都是压缩软件,不是加“壳”工具,解压时是需要进行磁盘读写,“壳”的解压缩是直接在内存中进行的。

加花指令的确没有改变特征码的位置,但是他改变了程序执行顺序,有的也能改变文件结构。使杀毒软件扫描的时候跳到花指令处,即判断没有病毒。通常情况下,在文件免杀的时候,加花指令是最简单、有效的方法,而且一般能通杀很多杀毒软件,所以一般文件免杀通用此法,前提是你的花指令不是常用的,最好能自己做出你个人的花指令,才会很有效。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/7992453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存