Red de conocimiento informático - Conocimiento sistemático - Por favor, dame un tutorial de bombardeo. Te daré 200 puntos a cambio.

Por favor, dame un tutorial de bombardeo. Te daré 200 puntos a cambio.

(1) El concepto de shell

Después de que el autor compila el software, lo compila en un archivo ejecutable exe. 1. Hay cierta información de derechos de autor que debe protegerse y no desea que otros la cambien casualmente, como el nombre del autor, etc. Para proteger el software contra posibles descifrados, generalmente se protege mediante embalaje. 2. Es necesario hacer el programa más pequeño para que sea más fácil de usar. Por lo tanto, necesita utilizar algún software que pueda comprimir archivos ejecutables exe. 3. En el mundo de los piratas informáticos, empaquete y descomprima caballos de Troya y otro software para evitar el software antivirus.

Para lograr las funciones anteriores, este software se denomina software empaquetador.

(2). Software de embalaje El software de embalaje más común ASPACK, UPX, PEcompact y el software de embalaje menos utilizado WWPACK32; NEOLITE; que detecta el shell y el lenguaje de escritura utilizado por el software, porque se debe comprobar el tipo de shell antes de descomprimirlo. 1. El software fileinfo.exe que detecta shells se llama fi.exe para abreviar (tiene una capacidad muy fuerte para detectar shells) 2. El software language.exe que detecta el lenguaje de programación utilizado por shells y software (las dos funciones son combinados en uno, genial) Idioma recomendado Versión china 2000 (especializada en detectar tipos de empaquetadores) 3. Los lenguajes de escritura de software más utilizados son Delphi, VisualBasic (VB) --- el más difícil de descifrar, VisualC (VC)

(4) Desembalaje del software. El empaquetado de software es un método común utilizado por los autores para proteger su propio código o mantener los derechos de propiedad del software y otros intereses después de escribir el software. Hay muchas herramientas de bombardeo en la actualidad, por supuesto que hay escudos y, naturalmente, hay lanzas. Siempre que recopilemos todas las herramientas de bombardeo de uso común, no tendremos miedo de que las empaqueten. El bombardeo de software se puede dividir en bombardeo manual y bombardeo automático. Primero introduzcamos el bombardeo automático, porque el bombardeo manual requiere el uso de lenguaje ensamblador, puntos de interrupción de seguimiento, etc., y no es adecuado para principiantes, pero lo presentaremos más adelante.

El empaquetado generalmente pertenece al cifrado de software. Hoy en día, cada vez se comprime más software, lo que genera muchos inconvenientes para la localización. Los entusiastas de la localización de software también tienen que aprender a dominar esta habilidad. Hoy en día, el bombardeo se divide generalmente en dos tipos: manual y automático. Manual consiste en utilizar herramientas de depuración como TRW2000, TR, SOFTICE, etc., lo que requiere un cierto nivel de bombardeo e implica mucho conocimiento en lenguaje ensamblador y software. depuración. La descompresión automática significa utilizar una herramienta de descompresión especial. El software de compresión más utilizado tiene herramientas anticompresión escritas por otros. Algunas herramientas de compresión pueden descomprimirse por sí mismas, como UPX, algunas no proporcionan esta función, como ASPACK, que requiere The. La ventaja de tratar con UNASPACK es que es simple, pero la desventaja es que es inútil una vez actualizada la versión. Además, se utilizan herramientas de descompresión especiales para descomprimir. La más popular es PROCDUMP v1.62, que puede manejar archivos comprimidos de varios programas de compresión actuales. Aquí hay algunos métodos y herramientas comunes, espero que sean útiles para todos. Sabemos cómo se cifran los archivos, por lo que podemos utilizar diferentes herramientas y métodos para descomprimirlos. Los siguientes son los métodos de embalaje y las medidas sencillas de desembalaje que encontramos a menudo para su referencia: El principio básico del desembalaje es el seguimiento de un solo paso, que sólo puede avanzar, no retroceder. El proceso general de descompresión es: Verificar el shell -> Buscar OEP -> Volcar -> Reparar La idea general para encontrar OEP es la siguiente: Primero verifique si el shell es un shell cifrado o comprimido. relativamente más fácil Generalmente, no hay anomalías. Buscar Puede llegar a la entrada haciendo clic en el popad correspondiente. La forma general de saltar a la entrada es. Sabemos que los archivos están cifrados mediante algún software de compresión y empaquetado. El siguiente paso es analizar el nombre y la versión del software de cifrado. Debido a que diferentes software e incluso diferentes versiones agregan shells, los métodos de descompresión son diferentes.

Herramientas de descompresión más utilizadas: 1. Herramientas de análisis de archivos (detección de tipo de shell): Fi, GetTyp, peid, pe-scan, 2. Herramientas de búsqueda de entradas OEP: SoftICE, TRW, ollydbg, loader, peid 3. Herramientas de volcado: IceDump, TRW, PEditor, ProcDump32, LordPE 4. Herramientas de edición de archivos PE: PEditor, ProcDump32, LordPE 5. Herramientas de reconstrucción de la tabla de importación: ImportREC, ReVirgin 6. Herramienta especial de descascarado ASProtect: Caspr (ASPr V1. 1- V1.2 válido), Rad (solo válido para ASPr V1.1), loader, peid

(1)Aspack: el más usado, pero solo use UNASPACK o PEDUMP32 para descomprimir (2 )ASProtect+aspack : En segundo lugar, el software extranjero se utiliza principalmente para empaquetar. Al desembalar, es necesario utilizar SOFTICE+ICEDUMP, lo que requiere ciertos conocimientos profesionales, pero no hay forma de hacerlo con la última versión. (3) Upx: puede usar UPX para descomprimir, pero debe prestar atención a si la versión es consistente, use el parámetro -D (4) Armadill: puede usar SOFTICE + ICEDUMP para descomprimir, lo cual es más problemático (5 )Dbpe: el mejor software de cifrado en China, la nueva versión no se puede descomprimir por el momento, pero se puede descifrar (6) NeoLite: puede descomprimirlo usted mismo (7) Pcguard: puede usar SOFTICE+ICEDUMP+FROGICE para descomprímalo (8) Pecompat: use SOFTICE con PEDUMP32 para descomprimirlo, pero no se requieren conocimientos profesionales (9) Petite: algunas versiones antiguas se pueden descomprimir directamente con PEDUMP32. Las nuevas versiones necesitan usar SOFTICE+ICEDUMP al descomprimirlo, lo que requiere cierta experiencia profesional. conocimiento (10)WWpack32: Al igual que PECOMPACT, en realidad existen algunas versiones antiguas. La versión se puede descomprimir directamente con PEDUMP32, pero a veces los recursos no se pueden modificar y no se pueden chinoizar, por lo que es mejor usar SOFTICE con PEDUMP32 para descomprimir. Generalmente uso Procdump32, un software de descompresión general, que es un potente software de descompresión que puede descifrar la mayoría de los shells cifrados, y también hay una función de script que puede descifrar fácilmente archivos cifrados por un shell específico mediante scripts.

Además, muchas veces necesitamos utilizar el software de edición de archivos ejecutables exe ultraedit. Podemos descargar su versión de registro china y su máquina de registro se puede encontrar en línea. Ultraedit abre un software chino. Si está empaquetado, no se pueden reconocer muchos caracteres chinos. Ultraedit abre un software chino. Si no está empaquetado o se ha descomprimido, se pueden reconocer muchos caracteres chinos. Se ha eliminado. ¿Para qué sirve en el futuro? Hay muchos más, domínelos con habilidad. Por ejemplo, puede usar su función de reemplazo para reemplazar el nombre del autor con su nombre. Los caracteres reemplazan a dos, tres reemplazan a tres. Las deficiencias se llenan con 00 en el lado izquierdo del editor ultraedit. [!--empirenews.page--]

Métodos de bombardeo comunes:

(1) El bombardeo de Aspack se puede descomprimir o caspr 1.unaspack, el método de uso es similar al lenguaje, tonto Después de ejecutar el software, puede seleccionar el software a descomprimir. Desventajas: solo puede descomprimir versiones anteriores de aspack, pero no versiones superiores. 2. caspr Tipo 1: software a descomprimir (como aa.exe) y caspr. .exe están en el mismo directorio, ejecute el menú de inicio de Windows, escriba caspr aa.exe y el archivo descomprimido será aa.ex_, elimine el aa.exe original y cambie el nombre de aa.ex_ a aa. El método de uso es similar al de fi. Ventajas: puede descomprimir cualquier versión de aspack y la capacidad de bombardeo es muy sólida. Desventajas: interfaz Dos.

Segundo: arrastre el ícono de aa.exe al ícono de caspr.exe. *** Si se detecta como un shell aspack y se produce un error al usar unaspack para descomprimir, significa que es una versión superior de aspack shell. solo usa caspr para eliminarlo. (2) Se puede utilizar Upx Shelling. El software que se va a descomprimir (como aa.exe) y upx.exe están en el mismo directorio. Ejecute el menú de inicio de Windows y escriba upx -d aa.exe. El método de usar unpecompact para descomprimir es similar al de lanuage, un software tonto. Después de ejecutarlo, seleccione el software que se va a descomprimir (4). Procdump es universal para descomprimir, pero no es preciso en general. En ejecución, primero especifique el nombre del shell y luego seleccione el shell deseado. Utilice el software de descompresión para asegurarse de que el archivo descomprimido sea más grande que el archivo original. Dado que el software de descompresión es muy maduro, generalmente no es necesario descomprimirlo.

En tercer lugar, compresión y desgranado

Hoy en día, el desgranado generalmente se divide en dos tipos: manual y automático. Manual significa utilizar herramientas de depuración como TRW2000, TR, SOFTICE, etc. tiene ciertos efectos en los requisitos de nivel de los desgranadores. Automático es un poco mejor. Utilice una herramienta de descompresión especial. El software de compresión más utilizado tiene herramientas anticompresión escritas por otros. Algunas herramientas de compresión pueden descomprimirse por sí mismas, como UPX, algunas no proporcionan esta función. necesitas UNASPACK para solucionarlo. Muchos archivos se cifran mediante algún software de compresión y empaquetado, lo que requiere descomprimir y descomprimir los archivos antes de que puedan traducirse al chino. Este tipo de compresión es diferente de las herramientas de compresión con las que habitualmente entramos en contacto, como winzip, winrar y otras herramientas de compresión, los archivos comprimidos como winzip y winrar no se pueden ejecutar directamente, pero este tipo de software de compresión EXE aún se puede ejecutar después. El archivo EXE está comprimido. Después de que esta herramienta de compresión comprime el archivo, agrega un código de descompresión al principio del archivo. Al ejecutar el archivo, el código primero lo descomprime y lo restaura. Sin embargo, todo esto se completa en la memoria, debido a la rápida velocidad de la computadora, básicamente no podemos sentir ninguna diferencia. Existen muchos programas de este tipo, como The bat, Acdsee, Winxfile, etc.

Para descomprimir, primero debes comprender qué son las herramientas de compresión comunes, para que puedas conocerte a ti mismo y a tu enemigo. Hoy en día, a cada vez más proveedores de software les gusta usar la compresión para lanzar sus productos, como The bat! usa compresión UPX, ACDSEE3 0 usa compresión ASPACK, etc. Tiene los siguientes factores: primero, el rendimiento de las microcomputadoras es cada vez mejor y la descompresión durante la ejecución es invisible y aceptable para los usuarios (el efecto del empaquetado del software es similar al efecto de WINZIP, pero el archivo después del empaquetado y la compresión puede Se ejecuta de forma independiente y el proceso de descompresión está completamente oculto y se completa en la memoria. El principio de descompresión es que el empaquetador agrega un comando al encabezado del archivo para decirle a la CPU cómo descomprimirlo. Hoy en día, las CPU son muy rápidas, como puede ver. El proceso de descompresión no sucede nada inusual Debido a que el software se abre inmediatamente, solo notará la diferencia en la velocidad de ejecución entre el software descomprimido y empaquetado si la configuración de su máquina es muy deficiente). La segunda es: el tamaño del software se reduce después de la compresión, lo que facilita la transmisión por red. El tercero es: aumentar la dificultad de craqueo.

En primer lugar, el software empaquetador es diferente del software de compresión general como winzip y winrar. Comprime archivos ejecutables exe y los archivos comprimidos se pueden ejecutar directamente. El software de compresión como winzip y winrar puede comprimir cualquier archivo. archivo, pero no se puede ejecutar directamente después de la compresión. Muchos sitios no permiten la carga de archivos ejecutables, sino sólo archivos comprimidos, tanto por razones de velocidad como de seguridad. Los archivos comprimidos con software empaquetador se reducen de tamaño, pero otras propiedades permanecen sin cambios. Sigue siendo un archivo EXE y aún se puede ejecutar, pero el proceso de ejecución es diferente al anterior. Después de que la herramienta de compresión comprime el archivo, agrega un código de descompresión al principio del archivo. Al ejecutar el archivo, el código primero lo descomprime y lo restaura. Sin embargo, todo esto se completa en la memoria. Debido a la rápida velocidad de la computadora, básicamente no podemos sentir ninguna diferencia.

4. Empaquetado y troyanos

Los troyanos son extremadamente dañinos, pero a medida que las personas adquieren conocimientos sobre varios troyanos y cuidan especialmente los antivirus y las herramientas especializadas para eliminarlos, muchos troyanos no tienen adónde ir. esconder Sin embargo, muchos maestros venden caballos en todas partes, alegando que no serán investigados ni asesinados. ¿Cómo se esconden exactamente en nuestros sistemas? De hecho, no es más que "agregar/desempaquetar" el troyano.

Para los piratas informáticos, la tecnología de agregar/descomprimir se ha aplicado completamente al cliente troyano disfrazado. El propósito es evitar que el software antivirus realice un seguimiento y cierre, sea rastreado y depurado, y también evitar que el programa del algoritmo sea analizado estáticamente. por otros. El ocultamiento más básico: formulario invisible + archivo oculto. El programa troyano utiliza tecnología de "ocultación de procesos": la primera generación de tecnología de ocultación de procesos: la puerta trasera de Windows 98. La tecnología de ocultación de procesos de segunda generación: inserción de procesos, y la tecnología Hook posterior es el software antivirus: tecnología de shell de software antivirus. No importa cuán astuto sea el caballo de Troya, una vez que el software antivirus define la firma, será interceptada antes de ejecutarse. Para evitar ser perseguidos por el software antivirus, muchos troyanos son descomprimidos, lo que equivale a ponerles ropa para que el software antivirus no pueda reconocerlos. Sin embargo, algunos programas antivirus intentarán descomprimir los shells de uso común. , y luego búscalos y mátalos (demonio, no creas que no te reconoceré si te pones un chaleco). Además del ocultamiento pasivo, también se han descubierto recientemente shells que pueden competir activamente con el software antivirus. Después de agregar el troyano con este shell, una vez que se ejecuta, el shell primero obtiene el control del programa y utiliza varios medios para controlarlo. programas instalados en el sistema el software antivirus lo destruye y, finalmente, después de confirmar la seguridad (la protección del software antivirus se ha roto), el shell libera el cuerpo del caballo de Troya envuelto en su propio "cuerpo" y. lo ejecuta. La forma de lidiar con este tipo de troyano es utilizar software antivirus con capacidades de descompresión para proteger el sistema. El shell puede empaquetar un archivo (como un EXE) y luego, cuando se ejecuta el archivo, el shell primero obtiene el control y luego libera y ejecuta el cuerpo del archivo empaquetado. Muchos shells pueden cifrar los archivos que contienen, evitando así que el software antivirus los analice. Por ejemplo, la característica del caballo de Troya definida originalmente por el software antivirus es "12345". Si se descubre que un archivo contiene esta característica, el archivo se considerará un caballo de Troya y se activará el shell con función de cifrado. cifre el cuerpo del archivo (como el original La característica es "12345", que se convierte en "54321" después del cifrado. Por supuesto, el software antivirus no puede confiar en las características del archivo para verificar). Desempaquetar se refiere a quitar el shell fuera del archivo y restaurar el archivo a su estado original antes de empaquetarlo.

Aunque el monitoreo de archivos de muchos software antivirus como Rising, KV, Norton y otros software antivirus hará que el programa sea muy lento cuando se ejecute por primera vez. Esto se debe a que cuando el software antivirus monitorea y escanea archivos exe comprimidos y empaquetados, primero debe "desempaquetarlos".

Un empaquetador de compresión general que puede cifrar y comprimir el código, los datos, la tabla de entrada, la tabla de reubicación y los segmentos de recursos del archivo ejecutable. Por lo general, el tamaño del archivo comprimido es solo del 50% al 70% del tamaño original, pero no afecta el uso normal ni todas las funciones del programa. El propósito es proteger el archivo del análisis de seguimiento, desmontaje, bombardeo, etc. Por lo tanto, a veces el uso de cierto software para descomprimir troyanos fallará, pero puedes intentar usar otro software. Es posible engañar al software antivirus volviendo a empaquetar el troyano después de descomprimirlo o utilizando diferentes empaquetadores para agregar varias capas al troyano. Sin embargo, después de varios empaquetadores complejos, es posible que los resultados de la detección no sean precisos. utilice el escaneo avanzado "adv.scan". pe-scan analizará la posibilidad de ser empaquetado por varias herramientas de embalaje. [!--empirenews.page--]

5. Embalaje y virus:

Para que los virus sobrevivan, además de aumentar sus propias capacidades de deformación, también pueden serlo. repleto de programas vinculados a la compresión. Primero veamos el propósito de la deformación de virus, porque el software antivirus actual se basa en la detección de firmas y aumenta las capacidades de deformación, lo que dificulta los métodos de detección de firmas. Entonces, si se combina con la tecnología de empaquetado de programas, la desintoxicación simplemente agregando firmas será completamente ineficaz. Al desintoxicarse, el motor de escaneo debe actualizarse al mismo tiempo y actualmente no existe un método de descompresión universal. Por lo tanto, la combinación de empaquetado, compresión y deformación ocupará a los fabricantes de antivirus y hará que los usuarios de software antivirus se sientan miserables. Las actualizaciones frecuentes incluyen no solo firmas sino también motores de escaneo. Agregue un shell a los virus comunes, como el uso de upx. Hoy en día, el software antivirus generalmente tiene procedimientos de descompresión correspondientes para los programas de compresión y shell de cifrado de uso común. El efecto no es bueno, por lo que si el virus es un buen empaquetador de cifrado y un programa de compresión deformados, entonces el propósito es forzar la actualización del motor de escaneo. Por supuesto, también se puede detectar mediante descompresión dinámica, pero solo aumentará la velocidad. carga de trabajo de desintoxicación.

De hecho, la tecnología de empaquetado no sólo se utiliza para la protección del software, sino que también se puede utilizar para virus buenos.

Un buen virus no necesariamente tiene que propagarse muy rápido. Es más importante que sea difícil de detectar y eliminar. Al igual que la tecnología de máquinas virtuales actual en la industria antivirus, es solo un prototipo. Al mismo tiempo, si el código del empaquetador en sí es deformable y hay varios algoritmos del empaquetador disponibles para selección aleatoria, es difícil descubrir las reglas y relaciones. En definitiva, al menos una de las funciones técnicas que debe tener un buen software antivirus es contar con tecnología de restauración de compresión: restaurar automáticamente cientos de software de compresión y empaquetado como Pklite, Diet, Exepack, Com2exe, Lzexe, CPav, etc. y eliminar por completo los virus profundamente ocultos para evitar su reaparición.

6. Algunos conocimientos relevantes sobre el descompresión manual:

La clave para el descompresión manual es encontrar el punto clave en el que esté listo para saltar a la ejecución normal del archivo EXE después de la descompresión. en el entorno TRW2000 Puede descomprimirlo ejecutando comandos relevantes, como: pedump+nombre de archivo personalizado. En la experiencia de depuración general, tenga en cuenta que la dirección antes del código tiene un cambio repentino.

(1), Resumen de métodos de interrupción forzada

1. Método de la herramienta SuperBPM

2. Insertar INT3 en el punto de interrupción

3. Comando /tracex en IceDump

4. Comando break 'n' enter en PEditor

(2), resumen de los métodos de suspensión de procesos

1. a eip jmp eip (debe usarse antes de la entrada OEP)

2. /suspendx pid (el pid se puede encontrar con el comando proc) (en SoftIce)

3. TRW)

(3), resumen del método de volcado

1. /dump ImageBase Size e:\dump.exe (en SoftIce)

2. pedump ImageBase OEP (valor RVA) e:\dump.exe (en SoftIce)

3. pedump e:\dump.exe (en TRW)

4. dump.exe (en TRW)

5. w ImageBase L Tamaño e:\dump.exe (en TRW)

6. Opción de tarea comando dump(full) en PEditor ( en otras herramientas)

7. comando dump(full) en ProcDump32 (en otras herramientas)

(4), punto de entrada de lenguajes de programación comunes

delphi :

55 EMPUJE EBP

8BEC MOV EBP,ESP

83C4 F0 AÑADIR ESP,-10

B8 A86F4B00 MOV EAX,PE .004B6FA8

vc++

55 PUSH EBP

8BEC MOV EBP,ESP

83EC 44 SUB ESP,44

56 PUSH ESI

vb:

00401166 - FF25 6C104000 JMP DWORD PTR DS:[<&MSVBVM60.#100>] ; MSVBVM60.ThunRTMain

0040116C > 68 147C4000 PUSH PACKME.00407C14

00401171 E8 F0FFFFFF LLAMADA

00401176 0000 AGREGAR BYTE PTR DS:[EAX],AL

00401178 0000 AÑADIR BYTE PTR DS:[EAX],AL

0040117A 0000 AÑADIR BYTE PTR DS:[EAX],AL

0040117C 3000 XOR BYTE PTR DS:[EAX] ,AL

bc++

0040163C > $ /EB 10 JMP BCLOCK CORTO.0040164E

0040163E |66 DB 66

; CAR 'f'

0040163F |62 DB 62 ; CAR 'b'

00401640 |3A DB 3A ; 43 ; CAR 'C'

00401642 |2B DB 2B ; CARACTER '+'

00401643 |2B DB 2B ; DB 48; CARACTERÍSTICA 'H'

00401645 |4F CARACTERÍSTICA 'O'

00401646 |4F CARACTERÍSTICA 'O'

00401647 | 4B DB 4B ; CHAR 'K'

00401648 |90 NOP

00401649 |E9 DB E9

0040164A |98E04E00 DD OFFSET BCLOCK.___CPPdebugHook

0040164E > \A1 8BE04E00 MOV EAX,DWORD PTR DS:[4EE08B]

00401653 . [4EE08F], EAX

0040165B .52 PUSH EDX

0040165C . &KERNEL32.GetModuleHandleA> ; \GetModuleHandleA

00401663 8BD0 MOV EDX,EAX

dasm:

00401000 >/$ 6A 00 PUSH 0.

; /pModule = NULL

00401002 |. E8 C50A0000 CALL ; \GetModuleHandleA

00401007 |.

0040100C |. E8 B50A0000 LLAMADA ; [GetCommandLineA

00401011 |. p>00401016 |. 6A 0A PUSH 0A; /Arg4 = 0000000A

00401018 |.Arg2 = 00000000

00401020 |. FF35 0C354000 PUSH DWORD PTR DS:[40350C] ; |Arg1 = 00000000

7. Hay muchos sitios crack famosos en el país y en el extranjero, como Kanxue Academy/subject/. jmdope/