Red de conocimiento informático - Conocimiento de la instalación - ¿Existe alguna herramienta que pueda disfrazar un lenguaje de programación?

¿Existe alguna herramienta que pueda disfrazar un lenguaje de programación?

Solución:

1. Añadir instrucción floral. Puede modificar la dirección de entrada de su software a través de software como OD y simplemente agregar el comando de flor. Las siguientes son instrucciones de flores que se buscan comúnmente. Las copiadas directamente pueden tener duplicados. Puede probarlo si no es suficiente o es inexacto, también puede buscar lo siguiente usted mismo. Por supuesto, también puede escribirlo si puede ensamblarlo.

1. Disfrazar código vc++5.0:

PUSH EBP

MOV EBP,ESP

PUSH -1

push 111111 -\___

PUSH 111111 -/ En este código, operandos como este se pueden completar aleatoriamente

MOV EAX,DWORD PTR FS:[0] < / p>

PUSH EAX

MOV DWORD PTR FS:[0],ESP

AÑADIR ESP,-6C

PUSH EBX

PUSH ESI

PUSH EDI

nop

dirección de entrada original jmp

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

2. Código de salto aleatorio:

push ebp

mov ebp,esp

inc ecx

push edx

AÑADIR ESP,-6C

nop

pop edx

dec ecx

pop ebp

AÑADIR ESP,6C

inc ecx

bucle en algún lugar/salte a la dirección del código anterior.

en algún lugar:

nop / El comienzo de un salto "aleatorio"...

jmp La dirección del siguiente jmp / salto a voluntad cercano

jmp ... /...

jmp dirección de entrada original/saltar al oep original

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

3. Disfrazar código c++:

push eax

mov ebp,esp

push -1

empujar 111111

empujar 111111

mov eax,fs:[0]

empujar eax

mov fs :[0],esp

pop eax

mov fs:[0],eax

pop eax

pop eax

p>

pop eax

pop eax

mov ebp,eax

nop

nop

dirección de entrada original jmp

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

4. Disfrazar código de 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

AÑADIR ESP,1

POP EAX

MOV DWORD PTR FS:[0],EAX

POP EAX

POP EAX

nop

POP EAX

nop

POP EAX

nop

POP EAX

p> p>

MOV EBP,EAX

Dirección de entrada original JMP

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

5. Disfraz anti-muerte Elf No. 1 código anti-muerte:

push ebp

mov ebp,esp

presione -1

presione ebp

presione -1

p>

presione 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 dirección de entrada original

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

6. Disfraz de elfo anti-muerte No. 2 código anti-muerte:

push ebp

p>

mov ebp, esp

push -1

push 0

push 0

mov eax,dword ptr fs :[0]

empujar eax

mov dword ptr fs:[0],esp

sub esp,68

empujar ebx

empujar esi

push edi

pop eax

pop eax

pop eax

añadir esp,68

pop eax

mov dword ptr fs:[0],eax

pop eax

pop eax

pop eax

pop eax

mov ebp,eax

jmp dirección de entrada original

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

7. Disfrazar caballo de Troya con ropas coloridas (Túnica de resurrección infinita) Código:

PUSH EBP

p>

MOV EBP,ESP

PUSH -1

push 415448 -\___

PUSH 4021A8 -/ En este código se ve así Los operandos se pueden completar en aleatoriamente

MOV EAX,DWORD PTR FS:[0]

PUSH EAX

MOV DWORD PTR FS:[0],ESP

p>

AÑADIR ESP,-6C

PUSH EBX

PUSH ESI

PUSH

EDI

AÑADIR BYTE PTR DS:[EAX],AL /¡Esta instrucción no es obligatoria

jo dirección de entrada original

jno dirección de entrada original

llamar a la siguiente dirección

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

8. Ropa colorida de caballo (capa Xiami) código:

push ebp

nop

nop

mov ebp,esp

inc ecx

nop

push edx

nop

nop

pop edx

nop

pop ebp

inc ecx

bucle en algún lugar / salte a la dirección del código a continuación.

en algún lugar:

nop / El comienzo de un salto "aleatorio"...

jmp La dirección del siguiente jmp / salto a voluntad cercano

jmp ... /...

jmp La dirección de la entrada original/salto al oep original

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

9. Disfrazar Huahua Adder (Mito) Código: -----------Modificado basado en 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] ,especialmente

pop eax

mov dword ptr fs:[0],eax

pop eax

pop eax

pop eax

p>

pop eax

mov ebp,eax

mov eax, dirección de entrada original

push eax

retn

p>

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

10. Disfrazar código de sumador Huahua (Promesa):

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

pop eax

p>

pop eax

mov ebp , eax

mov eax, dirección de entrada original

jmp eax

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

*

11. Código disfrazado de Huahua Adder (King Kong): -------- modificado según VC++5.0

nop

nop

mov ebp, esp

push -1

push 415448

push 4021A8

mov eax, fs : [0]

empujar eax

mov fs:[0], esp

añadir esp, -6C

empujar ebx

p>

push esi

push edi

añadir [eax], al

mov eax, dirección de entrada original

jmp eax

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

12. Disfraz de víbora Huahua (Shapolang). ) Código:

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

añadir esp, 68

pop eax

mov fs:[0], eax

pop eax

p>

pop eax

pop eax

pop eax

mov ebp, eax

mov eax, dirección de entrada original

jmp eax

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

12. Víbora de flores (Rey Mono enamorado) )Código:

nop

..........Omita N líneas de nop

nop

empujar ebp

mov ebp, esp

añadir esp, -0C

añadir esp, 0C

mov eax , dirección de entrada original

push eax

retn

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

13 .Disfrazar Huahua Adder (si *amor) código:

nop

.....omitir N líneas de nop

nop

push ebp

mov ebp, esp

inc ecx

push edx

nop

pop edx

dec ecx

pop ebp

inc ecx

mov eax, dirección de entrada original

jmp eax

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

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

14 Disfraz PEtite 2.2 -> Código de 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

dirección de entrada original jmp' ejecutar en el OEP original del programa

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

15. Código de archivo PE no válido:

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 | | (Atención...

Comando flor)

POP EAX /

POP EAX

MOV DWORD PTR FS:[0],EAX /

bucle original Dirección de entrada

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

16. El código anti-muerte definitivo del anti disfrazado. -kill asistente:

empujar ebp

mov ebp,esp

añadir esp,-0C

añadir esp,0C

push eax

jmp dirección de entrada original

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

17. Código de flor troyano camuflaje Caiyi (brocado de pez dorado)

push ebp

mov ebp,esp

add esp,-0C

add esp,0C

mov eax,dirección de entrada original

push eax

retn

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

18

Agregar

<. p después de mov ebp,eax

>PUSH EAX

POP EAX

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

19. Código de instrucción de disfraz de flor UPX:

pushad

mov esi,m.0044D000

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

push edi

o ebp,FFFFFFFF

jmp short m.00477F2A

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

20

empuje mib <. /p>

mov ebp,esp

inc ecx

push edx

pop edx

dec ecx

pop ebp

inc ecx

entrada original jmp

21

push ebp

nop

nop

mov ebp,esp

inc ecx

nop

push edx

nop

nop

pop edx

nop

pop ebp

inc ecx

dirección del bucle A1

nop

nop

p>

A1: push ebp

mov ebp,esp

jo entrada original

jno entrada original

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

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

Biblioteca WCRT de disfraz profundo (Visual C++) DLL Método 1 -> Jibz

Código Heiba ​​+ código ensamblador:

Utilice Heiba ​​para pegar el siguiente código:

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

Después de pegar, agregue 2 líneas de declaraciones de ensamblaje:

entrada original jmp dirección de ejecución Al OEP original del programa

retn 0C

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

Emitir varias instrucciones de flores inusuales

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 y ah,al

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

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

E8 B15FBC5B punto de entrada de llamada

55 empuje ebp

8BEC mov ebp,esp

51 empuje ecx

53 empuje ebx

8BD8 mov ebx,eax

8BC3 mov eax,ebx

04 9F add al,9F

2C 1A sub al,1A

73 03 punto de entrada jnb

JMP SHORT test.00414FB5 (EB 01)

NOP

JMP SHORT test.00414FB8 (EB 01)

NOP

NOP

Prueba JMP CORTO.00414FB8 (EB 01)

NOP

p>

Prueba JMP CORTO. 00414FBB (EB 01)

NOP

Prueba JMP (EB 01)

90=c4

PUSH EBP

MOVER EBP,ESP

inc ecx

push eax

pop eax

push edx

pop edx

dec ecx

sub eax,-2

AÑADIR ESP,68

DEC eax

DEC eax

SUB ESP,68

Portal JPE

Portal JPO

2008-6-13 11:30 dazy

Colección comando flores (0608)

Camuflaje profundo PETite 2.2 ->

; Código ensamblador de Ian Luck:

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

Código disfrazado Parte:

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

mov eax,0040E000 p>

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 'Ejecutar al OEP original del programa

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

Biblioteca WCRT de disfraz profundo (Visual C++) DLL Método 1 -> Jibz código binario + código ensamblador:

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

parte del código de disfraz :

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

Pegue el siguiente código usando binario:

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 8 5 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

Después de pegar, agregue 2 líneas más de declaraciones ensambladas:

jmp XXXXXXXX 'Ejecutar al OEP original del programa

retn 0C

1. Disguise vc

Código de entrada del programa VC++:

PUSH EBP

MOV EBP,ESP

PUSH -1

push 415448 -\___

PUSH 4021A8 -/ En este código, operandos como este se pueden completar aleatoriamente

MOV EAX,DWORD PTR FS:[0]

p>

PUSH EAX

MOV DWORD PTR FS:[0],ESP

AÑADIR ESP,-6C

PUSH EBX

PUSH ESI

PUSH EDI

AÑADIR BYTE PTR DS:[EAX],AL /Esta instrucción no es necesaria

jmp ¡Saltar al original! programa Punto de entrada

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

2.

Saltar

en algún lugar:

nop / El comienzo de un salto "aleatorio"...

jmp La dirección del siguiente jmp / salto cercano a voluntad

p>

jmp ... /...

jmp La dirección de la entrada original/salto al oep original

<<<< <<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Nueva entrada : push ebp

mov ebp,esp

inc ecx

push edx

nop

pop edx

dec ecx

pop ebp

inc ecx

bucle en algún lugar / salte a la dirección del código anterior.

3. Disguise C

Fusion

Reemplace el código de A con

push ebp

mov ebp de B, 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 Entrada antigua

4.c++

empujar ebp

mov ebp,esp

empujar -1

empujar 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

AÑADIR ESP,68

POP EAX

MOV DWORD PTR FS: [0],EAX

POP EAX

POP EAX

POP EAX

POP EAX

>MOV EBP,EAX

Entrada original JMP

6

Agregar

después de mov ebp,eax

PUSH EAX

POP EAX

7:

Anti-kill Elf No. 1 código anti-kill:

push ebp

p>

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

entrada jmp

8:

Anti-kill Elf No. 2 código anti-kill:

empujar ebp

mov ebp,esp

empujar -1

empujar 0

empujar 0

mov eax ,dword ptr fs:[ 0]

push eax

mov dword ptr fs:[0],esp

sub esp,68

push ebx

p>

push esi

push edi

pop eax

pop eax

pop eax

agregar esp,68

pop eax

mov dword ptr fs:[0],eax

pop eax

pop eax

p>

pop eax

pop eax

mov ebp,eax

entrada jmp

9.

Código anti-muerte definitivo del asistente anti-muerte

push ebp

mov ebp,esp

añadir esp,-0C

añadir esp ,0C

empujar eax

entrada jmp

10:

Código de flor troyano Caiyi (ropa de brocado de pez dorado)

push ebp

mov ebp,esp

añadir esp,-0C

añadir esp,0C

mov eax,entrada original

push eax

retn

11:

Código de flor troyano Caiyi (capa de camarón)

push ebp

nop

nop

mov ebp,esp

inc ecx

nop

push edx

nop

nop

pop edx

nop

pop ebp

inc ecx

loopd /¡Salte a la dirección del código a continuación!

<<<<<<<<<<<<<<<<<<<&

lt;<<<<<<<<<<<<<<<<<<<<<<<<

nop /El comienzo del salto "aleatorio"...

jmp La dirección del siguiente jmp/salto cercano

jmp... /...

jmp La dirección de la entrada/salto original al oep original < / p>

12.

Código VC++5.0 (túnica de resurrección ilimitada del troyano Caiyi):

PUSH EBP

MOV EBP,ESP

p>

p>

PUSH -1

push 415448 -\___

PUSH 4021A8 -/ En este código, operandos como este se pueden completar aleatoriamente

MOV EAX,DWORD PTR FS:[0]

PUSH EAX

MOV DWORD PTR FS:[0],ESP

AÑADIR ESP ,-6C

PUSH EBX

PUSH ESI

PUSH EDI

AÑADIR BYTE PTR DS:[EAX],AL /Esta instrucción es opcional

jo 00401000 /entrada original

jno 00401000 /entrada original

db 0e8h /花码

xxxxxx: nop \

/|\ POP EAX |Mira, estas dos partes son en realidad instrucciones de flores

| POP EAX | >| JMP yyyyyy (regresar al punto de entrada anterior: 00100016DB)

|

| push ebp <- Nuevo punto de entrada:

| mov ebp,esp

| inc ecx

| empujar edx

| >

| dec ecx

| pop ebp

| inc ecx

|

| POP EAX |

| POP EAX \

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

Comando de flor)

| POP EAX /

| POP EAX

| >| loop xxxxxx (Aquí salto hacia arriba~La dirección también la elijo yo mismo~~)

|_______________++++++(Ir a la dirección: 100036c3 y retroceder)

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

El código es el siguiente: Mito

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, entrada original

push eax

retn

El código es el siguiente: Promesa

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, entrada original

jmp eax

El código es el siguiente: King Kong

nop

nop

mov ebp, esp

push -1

push 415448

push 4021A8

mov eax, fs:[0 ]

push eax

mov fs:[0], esp

añadir esp, -6C

push ebx

push esi

push edi

añadir [eax], al

mov eax, original entrada

jmp eax

jmp eax

p>

El código es el siguiente: shapolang

nop

mov ebp, esp

push -1

push 0

p>

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

anuncio

d esp, 68

pop eax

mov fs:[0], eax

pop eax

pop eax

pop eax

pop eax

mov ebp, eax

mov eax, entrada original

jmp eax

El código es el siguiente: Rey Mono Enamorado

nop

nop

nop

nop

no

no

no

no

no

no

no

nop

nop

nop

nop

nop

empujar ebp

mov ebp, esp

añadir esp, -0C

añadir esp, 0C

mov eax, entrada original

push eax

retn

El código es el siguiente: if*love

nop

nop

no

no

no

no

no

no

no

no

no

no

no

no

no

nop

push ebp

mov ebp, esp

inc ecx

push edx

nop

pop edx

dec ecx

pop ebp

inc ecx

mov eax, entrada original

jmp eax

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

Paquete de archivos universal Grey Pigeon VIP2005 -> Ge Jun*

push ebp

mov ebp,esp

añadir esp,-124

push ebx

push esi

push edi

xor eax,eax

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

entrada jmp

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

PUSH EBP

MOV EBP,ESP

MOV EAX,0

PUSH EAX

LLAMADA al siguiente comando ↓

POP EAX

SUB EAX,0

MOV ECX,0

MOV EDX,0

MOV ESI,0

MOV EDI,0

MOV EBP,0

AÑADIR EBP,EAX

POP EAX

POP EAX

POP EAX

POP EAX

POP EBP

Entrada PUSH

Haga clic en

RETN

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

//Borland Delphi 6.0 - 7.0

PUSH EBP

MOV EBP,ESP

MOV ECX,6

PUSH 0 El de abajo salta aquí

PUSH 0

p>

DEC ECX

JNZ Saltar atrás

PUSH EBX

PUSH ESI

PUSH EDI

POP EDI

POP ESI

POP EBX

Punto de entrada JMP

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

push ebp

mov ebp,esp

inc edx

nop

pop edx

dec ecx

pop ebp

inc ecx

punto de entrada jmp

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

empujar ebp

mov ebp,esp

empujar 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]

prueba esi,esi

entrada jmp

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

0046D4BA pop eax

0046D4BB sub eax,7D

0046D4C0 push eax

0046D4C1 C3 retn

0046D4C2 llamada 0046D4BA

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

Disfraz VC7 0 flores

Recientemente atrapado haciéndose pasar por VC7.

0 flores, muy cortas

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

presione 70

presione 123456 (cualquier número)

llame a (A es la dirección)

xor ebx,ebx

Una dirección: retn

2008-6-13 11:30 dazy

1.POP 0

POP 0

2 .PUSH ebp

pop ebp

3.nop ---- Generalmente insertado en el medio

4.jmp Verifique la dirección de jmp

jmp...

5.add esp,1 ----El número se puede cambiar

sub esp,1

6. esp,1

añadir 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

p>

dec eax

11. (Este comando es clásico, comprimido, ejecutable y libre de KABA)

push ebp

mov ebp, esp

pop esp

jmp Dirección del punto de entrada original -

jmp XXXXXX es equivalente a:

PUSH XXXXXX

RETN

12 Comando de flor para evitar matar a Kabbah:

push ebx

.

empujar ebx

empujar ebx

pop ebx

pop ebx

pop ebx

saltar jmp a la siguiente dirección

añadir esp,1

añadir esp,-1

dirección del punto de entrada push

retn

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

p>

12 (Igual que arriba)

empuje ebp

push esp

pop ebp

pop esp

dirección del punto de entrada original jmp

13. -comando de eliminación:

push ebp

push esp

pop ebp

añadir esp,-0C

agregar esp,0C

push eax

entrada jmp

14. Comando libre de matar flores

push ebp

mov ebp,esp

add esp,-0C

add esp,0C

push eax

mov eax, dirección de entrada

jmp eax

nop

15.

jmp se cambia a: Jg (mayor que la transferencia), JL (menor que la transferencia). )

o cambiado a: jb (menor que transferir), jnb (mayor o igual que transferir)

16. No use jmp directamente para saltar después de escribir el comando kabahua , de lo contrario, te matarán directamente

jmp --- matarán directamente

Cambiado a

jb

jnb

O cambiar a:

dirección de entrada push

retn

>O cámbielo a:

mov eax, dirección de entrada

jmp eax

17. Un comando de flor para evitar matar a Kabbah:

empujar ebx

empujar ebx

pop ebx

pop ebx

añadir esp,1

añadir esp , -1

dirección de entrada push

retn

Dos. Puede utilizar una herramienta de embalaje para evitar que otros reconozcan lo que utilizó para escribirlo. Las herramientas de empaquetado se dividen en shells de compresión y shells cifrados. No los enumeraré más.

Nota: Algunas personas crean caballos de Troya o virus añadiendo flores o conchas para evitar matarlos. Por lo tanto, algunos programas antivirus los considerarán caballos de Troya o virus.