Red de conocimiento informático - Computadora portátil - Programación Ccl

Programación Ccl

En primer lugar, comprendamos brevemente el principio del software antivirus para detectar y eliminar virus. En la actualidad, el software antivirus utiliza principalmente métodos de firma y métodos de monitoreo del comportamiento para detectar y eliminar virus. Entre ellos, el método de comparación anterior es más antiguo y se divide en eliminación de archivos y eliminación de memoria. Una vez que la empresa de software antivirus obtiene la muestra del virus, define una firma de virus para la base de datos de virus y luego la compara con los archivos escaneados. Si son consistentes, se considera un virus y se cargará en la memoria y se comparará con la memoria para eliminarlo. El segundo es relativamente nuevo. Utiliza el principio de que ciertos virus se comportarán de determinada manera para monitorear los virus.

Herramientas de uso común para matar gratis:

El depurador Ollydbg se abrevia como OD, herramienta de seguimiento dinámico, herramienta de inspección de shell peid, herramienta de edición de encabezados de archivos PEditor PE.

CCL, bole, localizador de firma MYCCL oc convertidor de dirección reloc modificar herramienta de dirección de segmento EP zeroadd agregar herramienta editor hexadecimal Uedit32

Sin método de eliminación

Exención de I. asesinar archivos

1. Agregar flores

2 Modificar firmas de archivos

Agregar conchas

4.

2. Memoria antivirus

Modificar código de función

3. Inmunidad conductual

Jiahua

El gasto adicional es un método común para evitar la destrucción de archivos. El principio del relleno es utilizar instrucciones de relleno (algunas instrucciones basura, como sumar 1, restar 1) para evitar que el software antivirus detecte la firma. La adición de flores se puede dividir en área de adición de flores y desfloración de cabezas. Generalmente, las herramientas de suma utilizan un área de suma para agregar flores. Por supuesto, también puede agregarlo manualmente, es decir, primero use zeroadd para agregar un segmento, luego escriba instrucciones en el segmento recién agregado y luego salte a la entrada original para eliminar encabezados y use NOP (sin operación en ensamblaje; ) de la entrada del programa Elimine algunas líneas, luego busque el área 0000 a continuación, escriba el código eliminado por NOP y algunas instrucciones sofisticadas, y luego use JMP para saltar a la entrada original (salto incondicional en ensamblador).

Algunos programas antivirus son irreconocibles después de agregarles trucos, pero es posible que aún se detecten algunos programas antivirus potentes, como Uncle Driver (Kaspersky). En este momento, debe ubicar la firma y luego modificarla. Para modificar, primero debe saber dónde está la firma, por lo que primero debe ubicar la firma. Este es un punto difícil, especialmente la ubicación de la firma compuesta.

Posición del código de característica

Existen dos métodos principales para localizar códigos de característica: el primer método de reemplazo directo; el método de número binario;

El método de reemplazo directo es El primer método de posicionamiento del código de característica, reemplaza el código original uno por uno de acuerdo con una cierta cantidad de bytes y guárdalo. Por ejemplo, el caballo de Troya tiene un total de ***100 bytes. Primero puede reemplazar de 0 a 10 bytes, guardarlos y luego escanearlos con un software antivirus. Si no han sido eliminados, se ha sobrescrito la firma. Si todavía muere, reemplace 10-20. Las ventajas del método de reemplazo son que es fácil de entender y rápido (para firmas de archivos). El método manual de las herramientas de localización de firmas Bole y CCL se basa en el principio del método de sustitución, que se utiliza a menudo para localizar firmas de archivos. Sin embargo, este enfoque no es muy práctico para localizar firmas de memoria. Después de cada reemplazo, se debe cargar en la memoria y escanear nuevamente. Si el troyano es grande, el reemplazo generará muchos archivos y cargar cada archivo en la memoria llevará demasiado tiempo. Además, tiene una limitación muy grande, es decir, solo puede determinar el caso en el que solo hay una firma (en algunos casos también se aplican varias firmas, el tercer caso se describirá a continuación). El software antivirus también cuenta con otros mecanismos para localizar firmas. Por ejemplo, algunos programas antivirus definen dos códigos de característica, A y B (los principios de tres o más son los mismos, por lo que para facilitar la explicación, se utilizan dos como ejemplo a continuación). Mientras exista uno de A y B, informará un virus. No informará un virus hasta que ambos lugares se reemplacen al mismo tiempo. Si los dos lugares están muy separados, entonces el rango definido será muy aproximado y, obviamente, el segundo método ya no se aplicará.

El principio utilizado por el método de números binarios es el medio posicionamiento, y el modo automático de CCL utiliza este principio.

Divida el segmento a detectar en dos partes y reemplácelas para generar dos archivos, A y B. A se genera después de reemplazar la segunda mitad del archivo original con 0, B se reemplaza con 0 y el antivirus comienza a escanear y Elimine los archivos generados (si es una ubicación del código de función de la memoria, se carga en la memoria antes de escanear la memoria). Hay cuatro situaciones.

(1) A existe y B se elimina: esta situación indica que el código de característica en el archivo A ha sido reemplazado, por lo que la parte reemplazada de A se divide en dos partes y el desplazamiento inicial es el desplazamiento de A. Cambie y luego detecte;

(2) A se elimina y B existe: esta situación indica que el código de característica en el archivo B ha sido reemplazado, por lo que la parte reemplazada de B se divide. en dos partes, y el desplazamiento inicial El desplazamiento es el desplazamiento de B, y luego se detecta

(3) A existe, B existe: esta situación muestra que es imposible localizar si hay firmas en; A y B, por lo que A y B se dividen en dos Partes se detectan por separado;

(4) Eliminar A y eliminar B: esta situación indica que ambas secciones tienen códigos de firma, por lo que A y B se dividen en dos partes para la detección.

Redividir A llenará el segmento B original con 0, lo que equivale a eliminar la influencia del segmento B y solo considerar A; de manera similar, cuando B se subdivide, el segmento A original se llenará con 0. Equivale a eliminar la influencia del párrafo A y considerar únicamente el B.

(1)(2) corresponde al caso en el que existe una sola firma, lo cual es más fácil de entender;

La parte No. (3) corresponde a la situación en la que se definen dos códigos de característica A y B, pero es diferente de lo dicho anteriormente. Para evitar errores de juicio, el software antivirus define dos códigos de característica A. y B. El virus se informará solo cuando ab exista al mismo tiempo. Supongamos que A y B existen en A y B respectivamente, A y B no existen al mismo tiempo y el antivirus no alerta a A y B. ¿Cómo juzgar a continuación? Dé un ejemplo para ilustrar.

Muma solía ser...A...B...después de ser reemplazada por primera vez, A:...A...00000, B: 000000...B.. .Ahora ab no existe al mismo tiempo, y A y B no mueren, por lo que A y B se dividen en dos,...B000,...A...son 0000000 respectivamente. De hecho, este tipo de firma múltiple se puede reemplazar directamente, o incluso mejor. Reemplace con una cierta cantidad de dígitos y luego escanee. Mientras se reemplace una firma, ya no se informará del virus. Por lo tanto, si no se informa del virus, la firma se sobrescribirá sin importar cuántos lugares se puedan ubicar, solo necesita modificar un lugar al modificar. .

La cuarta situación correspondiente es que el antivirus define múltiples firmas, que es la situación mencionada anteriormente. Mientras haya coincidencia, se considera un virus. Tomemos dos códigos de característica A y B como ejemplo. El resultado después de la primera sustitución es el mismo que (3). Las dos partes se consideran por separado y no se afectan entre sí, lo que equivale a descomponerse en dos códigos de característica única. Después del segundo reemplazo, se convierten en 000000…b000, 000000…000…000000,…a0000000,…a0000000.

La numeración binaria es una buena idea y puede resolver la mayoría de los problemas, pero ¿no es impecable? ¡La respuesta es no! El abominable software antivirus también tiene una carta de triunfo, que es la firma compuesta, lo que nos trae muchos problemas a la hora de localizar la firma. El mecanismo de posicionamiento de las firmas compuestas es definir primero n firmas. Siempre que algunas de ellas aparezcan al mismo tiempo, se considera un virus. Permítanme dar un ejemplo simple: Troya era originalmente...a 1...b 1...c 1...A2...B2...C2...(a 1, A2, están marcados sólo para la conveniencia de una descripción posterior). Siempre que abc aparezca al mismo tiempo, se considera un virus. ¿Cómo localizar? El principio no es muy difícil y también es un método para reemplazar y luego matar. Se supone que la precisión del reemplazo es que cada cantidad de reemplazo aumenta en 1000 bytes, y el virus siempre comienza desde el principio hasta que el número de bytes reemplazados llega a 13140040 (una dirección mencionada casualmente para facilitar la descripción). Es decir,...A1...B1...0000000, se reemplazan ambas C. En este momento, significa que no es un virus. Por lo tanto, el código de característica c1 está dentro de 13140040 y la cantidad de bytes de reemplazo se reduce, como el reemplazo.

Es decir, la precisión de cada reemplazo se reduce a 100 bytes, o la no toxicidad se reduce a 14800 bytes, y se repite... hasta que la posición de c1 se ubique con precisión si se reemplaza de adelante hacia atrás, Se puede localizar la posición de a2. Se pueden ubicar otras firmas usando c1 y A2, una de las cuales se puede reemplazar con 0, como C1. c2 se puede colocar de atrás hacia adelante hasta que se ubiquen todos los códigos de característica. De hecho, el principio no es complicado, pero la operación manual es muy problemática. Podemos usar MyCl, que utiliza un principio similar. Las operaciones específicas se pueden ver en la ayuda de operación de MyCl. Hay otro método que es más científico y el principio es el mismo, excepto que el número de bytes reemplazados no aumenta en partes iguales, sino que aumenta en la potencia de 2 n -1. La primera vez reemplaza 1 byte, la segunda vez reemplaza 2 bytes y la tercera vez reduce 4 bytes de acuerdo con esta regla. Este método de reemplazo es algo similar al método del número binario y puede localizar la ubicación de la firma más rápido. Yo también lo creo.

Aunque las firmas compuestas son buenas, no debemos tener miedo. Creemos que todos los programas antivirus se agotarán con las firmas compuestas. La definición de una firma compuesta requiere varias veces la base de datos de virus de una sola firma, lo que hace que la actualización sea incómoda para los usuarios. Por lo tanto, no existen muchas definiciones de firmas compuestas, excepto para virus particularmente populares.

Alguna experiencia en la localización de códigos de características puede indicarle que los códigos de características de archivos generalmente se ubican mediante reemplazo directo, y puede usar el posicionamiento manual de CCL para los códigos de características de memoria, generalmente se usan números binarios para ubicarlos. posicionamiento mediante CCL. Si el archivo EXE es pequeño, puedes combinar ambos métodos. Primero, puede generarse mediante reemplazo directo. Puede utilizar Bole como herramienta (por qué no utilizar CCL, porque el archivo EXE generado por Bole puede ver el icono). Si funciona bien y esos íconos han cambiado, entonces no lo intentes, luego cárgalo en la memoria y escanea la memoria. ¡Felicidades! ¡Éxito! El posicionamiento en un rango aproximado y luego el uso de CCL para posicionar automáticamente se puede completar rápidamente. Si el archivo es grande, Bole generará demasiados archivos, lo cual es un inconveniente, por lo que es mejor usar CCL para el posicionamiento. Para archivos DLL, CCL solo se puede utilizar de forma honesta.

Modificación del código de función

La modificación de códigos de función puede requerir un poco de conocimiento de ensamblaje. El CD contiene una introducción a la sintaxis ensambladora de uso común, y las modificaciones incluyen principalmente modificación directa y modificación de salto.

El método de modificación directa utiliza instrucciones equivalentes para reemplazar, por ejemplo

Agregar eax, 0c es equivalente a sub eax, -0c.

O el cambio de la secuencia de instrucciones no afecta el efecto de ejecución, como

Agregar eax, 0c; agregar 0c al registro eax y asignarlo a eax.

Agregar ebx, 05; Agregar 05 al registro ebx y asignarlo a ebx.

de la misma familia

Agregue ebx, 05; agregue 05 al registro ebx y asígnelo a ebx.

Agregue eax, 0c; agregue 0c al registro eax y asígnelo a eax.

Otra opción es que si el código de característica es código ASCII, puedes cambiar directamente las mayúsculas, las minúsculas a mayúsculas y las mayúsculas a minúsculas.

Shell

No hace falta decir que todo el mundo sabe cómo utilizar la herramienta. El principio de Shell es agregar un programa de protección al programa original, que tiene las funciones de protección y cifrado. Después de que se ejecute el shell, ejecute primero el archivo real para protegerlo. Me gustaría recordarles a todos que no importa qué tan bueno sea el shell, aún así se eliminará si hay demasiadas personas usándolo, por lo que pueden trabajar duro para aprender texto electrónico e ir a sitios web extranjeros para encontrar la herramienta de empaquetado usted mismo. Esto es mejor.

Modificar el archivo shell.

Después de agregar el shell, habrá un código especial en la entrada del programa. Puede utilizar OD para abrir archivos empaquetados de diferentes herramientas de embalaje. Puede encontrar que el código al comienzo de diferentes shells es diferente, lo que también se puede decir que es el código característico del shell. Para el software antivirus de shell de uso común, puede eliminar el shell y luego eliminarlo, que es la llamada tecnología de penetración de shell. Para evitar que el software antivirus identifique qué shell se agrega, podemos agregar shells dobles o modificar el código al principio. De esta manera, no podrás ver ninguna herramienta antivirus empaquetada. Aquí hay solo un método de modificación.

Puede consultar el comando para eliminar encabezados y agregar flores, agregar otro encabezado característico de shell en el área en blanco y luego JMP salta a la entrada original. De esta manera, el antivirus juzgará mal la herramienta empaquetadora, logrando así el efecto de evitar. antivirus. De hecho, existen muchos métodos. Siempre que esté dispuesto a pensar, siempre podrá encontrar una manera de solucionarlo.

Otra forma de modificar el shell es modificar la entrada de la sección EP. Al usar Peid para verificar el troyano, puede encontrar la dirección del segmento EP, que es la entrada al segmento. Modificando la dirección de entrada del EP, se puede lograr el efecto de evitar la matanza. La herramienta utilizada es reloc. Pregúntele a Google el método de uso específico.

Inmunidad conductual

El representante de este tipo de antivirus es el Green Eagle PC Almighty Elf. En términos generales, después de ejecutar el troyano, se copiará al directorio del sistema antes de ejecutarse y el archivo original puede eliminarse automáticamente. Hoy en día, los troyanos suelen insertarse en procesos que acceden a la red y el proceso insertado es visible dentro del proceso. Configurar el arranque también es imprescindible para que el troyano escriba en el registro, se una a servicios, escriba controladores, etc. Estos son comportamientos exclusivos de Troy. Podemos utilizar herramientas de supervisión del registro y de modificación de archivos, como buscadores auxiliares de troyanos, para registrar los archivos y el registro modificados, y adivinar qué comportamientos puede supervisar el antivirus, sin lograr así ningún comportamiento. También existe un método general. El antivirus conductual no eliminará los elementos de inicio del sistema. Podemos evitar con éxito la muerte reemplazando los elementos de inicio del troyano con elementos de inicio que no sean necesarios para el sistema. En cuanto a otros métodos, puedes investigarlos tú mismo.

En cuanto al aumento de la entrada en 1 que circula en Internet, se utiliza PEditor para aumentar la dirección de entrada del troyano a 1, lo que a veces puede lograr el efecto de evitar la muerte. Parece que a Rising le gusta esto. Hay otro consejo que contarle. Si desea mantener su troyano anti-kill sin ser detectado durante el mayor tiempo posible, es mejor elegir un troyano más antiguo. Para los troyanos nuevos, la base de datos de virus se actualizará con frecuencia para protegerse contra virus, y para los troyanos antiguos...

Resumen:

Generalmente, los pasos para evitar los antivirus son: defina firmas de memoria y modifíquelas. Para la firma de memoria, agregue instrucciones para evitar eliminar el archivo. Si algún antivirus aún lo elimina, defina la firma del archivo, modifique la firma y luego realice inmunidad de comportamiento, luego agregue un shell. y luego modifique el shell. En general, siempre que se haga a través de Rising, es posible evitar matar la memoria. Otros programas antivirus no tienen una verdadera memoria antivirus. Por ejemplo, el análisis de memoria de Kaspersky es un análisis rápido de archivos. Generalmente, agregar un comando sofisticado puede evitar el escaneo y eliminación de archivos por parte de Kingsoft, Rising y Jiang Min (es muy sencillo aprender un poco de ensamblaje y jugar con código basura). En cualquier caso, deberás buscar la firma y modificarla. Los archivos de Kaba son muy buenos para matar y se pueden detectar casi todos los casquillos de bala. Generalmente, es necesario localizar el código de característica y luego modificarlo. Para Norton, a quien le gusta ubicar códigos de característica en el encabezado PE, solo necesita usar Beidou y otras herramientas para agregar un shell y convertir el encabezado PE en un desastre, y no lo sabrá. Si desea evitar mejor los antivirus, puede cambiar sus servicios y claves de registro a requisitos que no sean del sistema. Si eres un perfeccionista absoluto, puedes modificar el archivo después de agregar el paquete e ir al final.