Menú
Está libre
registro
hogar  /  Consejo/ Abra el código del programa exe. Cómo abrir un archivo .dll o .EXE en el editor de recursos

Abra el código del programa exe. Cómo abrir un archivo .dll o .EXE en el editor de recursos

*** ¡TODO EL USO ESCRITO PARA FINES EDUCATIVOS ÚNICAMENTE! ***

-Instrumentos-
OLLYDBG
La aplicación en la que insertaremos nuestro código.
Esta voluntad NOTEPAD.EXE.
Es recomendable realizar una copia del archivo.
Es todo

-Comienzo-
Nuestro objetivo es pegar nuestro código en Notepad.EXE.
Pegaremos un simple Buzon de mensaje almorzar Bloc.
Corramos Computadora portátil y asegúrese de que comience bien.

Si estás seguro de que esto es original Notepad.exe, ábrelo en Olly.
La siguiente ventana aparecerá:

Para insertar nuestro código, necesitamos un lugar para esto en el código del programa.
En los archivos exe, hay muchos CodeCaves... Estos son bytes ( DB 00).
Solo necesita desplazar el código del programa un poco por debajo del principio, y verá CodeCave:


Se resalta una pieza con un rectángulo rojo. CodeCave"¿Amy?
Aquí puede insertar cualquier código y su programa no se curará.
Si conoce la función API para llamar Buzon de mensaje simplemente omita estas líneas.

***** COMIENCE LA COTIZACIÓN DESDE EL MANUAL DEL PROGRAMADOR DE WIN32

La función Cuadro de mensaje crea, muestra y opera un cuadro de mensaje.
El cuadro de mensaje contiene un mensaje y un título definidos por la aplicación,
además de cualquier combinación de iconos y pulsadores predefinidos.

Int MessageBox (
HWND hWnd, // identificador de la ventana del propietario
LPCTSTR lpText, // dirección del texto en el cuadro de mensaje
LPCTSTR lpCaption, // dirección del título del cuadro de mensaje
UINT uType // estilo del cuadro de mensaje
);

***** FIN DE LA COTIZACIÓN DEL MANUAL DEL PROGRAMADOR DE WIN32

Haga clic para ampliar ...

Eso es todo lo que hay que saber Buzon de mensaje.
Hagamos algo con CodeCaves.
Para usar Buzon de mensaje, necesitamos crear el texto que saldremos a
Buzon de mensaje... En la siguiente imagen, he resaltado un par de líneas con CodeCaves y
mostró el menú BinaryEdit para ti (nos será útil).


Si presionaste Binario => Editar o (CTRL + E) verá la siguiente ventana.
Simplemente complete el campo superior de la misma manera que lo hice.
Haga clic en Aceptar y verá el código modificado (resaltado en rojo):
Presione CTRL + A ahora para volver a analizar el código.
¡OK! Ahora, si desea que el título del mensaje sea diferente, duplique esta línea
(esto es como el segundo parámetro de la llamada al procedimiento).

-Un poco de ensamblador-

Es tiempo de ASM a
¡Aquí tienes un buen ejemplo!

PUSH 0; BOTONES =<ТОЛЬКО КНОПКА OK>
PUSH 1008751; SUBTÍTULO = NUESTRA DIRECCIÓN "BLOC DE NOTAS INYECTADO"
PUSH 1008751; MENSAJE = MISMO.
PUSH 0; ICONO =<БЕЗ ИКОНКИ>
CALL MessageBoxA; Llamar a MessageBoxA con los parámetros especificados.

Haga clic para ampliar ...

Estas líneas introducidas en Ollie se verá así:

¿Ves la flecha? ES MUY IMPORTANTE!
Después de todo, si ejecutamos el programa, no pasará nada. ¿Por qué?
¡Porque nuestro pequeño procedimiento aún no ha sido llamado a ninguna parte!
Debe escribir la dirección de su inicio, es decir. Dirección " EMPUJE 0", porque tenemos que dar un salto
a nuestro procedimiento y volver
Multa. Ahora regrese al principio del programa ( Botón C en la barra de herramientas Ollie, o como en la imagen).

Ahora estamos en la primera línea que se ejecutará.
¿Aún recuerdas que nuestro objetivo es insertar tu propio código?
¡Entonces continuaremos!
Seleccione un par de líneas desde el principio y cópielas en el portapapeles.


Pégalos en cualquier reactor de texto; nos volverán a ser útiles.
Regrese al comienzo del programa.
(En la imagen de arriba es EMPUJE 70).
Al hacer doble clic en esta línea, se nos mostrará la siguiente ventana.
Tienes que entrar en él " JMP<адрес PUSH 0, который мы записывали ранее> "
Presione el botón Ensamblar y el código del programa cambiará nuevamente, es decir los cambios se resaltan en rojo.

¡Mira el rectángulo rojo! Necesitamos saltar a esta dirección al completar nuestro código.
Pero si saltamos aquí después de la inyección, el programa se ejecutará como si no lo tuviera.
¡Así que hay una cosa más que hacer!
Compare el nuevo comienzo del programa con el anterior que copiamos en un editor de texto.
¡Verás que se han reescrito dos líneas! Pero los necesitamos para un funcionamiento normal.
programas sin errores. Encuentra las líneas que se han sobrescrito.
En mi caso, fue el siguiente código:

EMPUJE 70
PUSH NOTEPAD.01001898

Haga clic para ampliar ...

Haga clic en la primera línea de código (nuestro JMP) y presione INGRESAR.
¡Serás llevado al código de llamada de MessageBox insertado!
Después LLAMAR MessageBoxA¡Tendremos que insertar estas dos líneas Y saltar hacia atrás!


¡ESO ES TODO!
(Es fácil verificar si el salto está funcionando correctamente - Haga clic en él INGRESAR!)
Para guardar nuestro Bloc de notas "modificado", siga los pasos que se muestran en la imagen:
Luego haga clic en Cópialo todo... En la ventana que aparece, debe hacer clic derecho,
seleccionar elemento de menú Guardar el archivo y guardar con un nuevo nombre. Ejecute el archivo:

La función agregada no debe llamarse directamente, como está escrito en el artículo, sino de una manera ligeramente diferente.

Primero, después de agregar el procedimiento a las importaciones, debe conocerlo FT (FirstThunk "IAT")... Se muestra aquí:

¡Recuerdalo!(Lo nombraré TrueAdress)​


Ahora pasemos al lugar donde escribiremos nuestro código ( Cuevas de código).
Ahora agreguemos la llamada correcta a nuestra función MessageBoxA... Para hacer esto, escriba:

JMP [[B] TrueAdress]

Si Olly detecta automáticamente código nuevo como una llamada a procedimiento - ¡muy, muy bien! Significa que será más fácil aún más. Si no es así, calculó mal la dirección de importación. ¡Vuelve a checar!
Anote la dirección de este JMP(Lo nombraré TrueCall).

Ahora hacemos todo como en el artículo (insertar líneas, PUSH, etc.), pero en lugar de:

Llamar a MessageBoxA

necesitas escribir:

Llame a [B] TrueCall

El resto sigue siendo el mismo.

Haga clic para ampliar ...


A veces, CODE.EXE y otros errores del sistema EXE pueden estar relacionados con problemas en el registro de Windows. Diversos programas pueden compartir el mismo archivo CODE.EXE, pero cuando estos programas se desinstalan o se modifican, las entradas de registro EXE huérfanas (inválidas) pueden perderse.

Básicamente, esto significa que si bien la ruta real al archivo puede haber cambiado, su ubicación anterior incorrecta aún se registra en el registro de Windows. Cuando Windows intenta buscar las referencias de estos archivos incorrectos (ubicación de los archivos en su PC), aparecen errores de CODE.EXE. Además, la infección de malware puede dañar las entradas de los registros asociadas con Game Cracker. Por lo tanto, estas entradas de registro inválidas, EXE, necesitan repararse para solucionar la raíz del problema.

No se recomienda editar manualmente el registro para eliminar las claves inválidas CODE.EXE a menos que sea un técnico de mantenimiento de PC. Los errores cometidos al editar el registro pueden hacer que su PC no funcione correctamente y causar daños irreparables a su sistema operativo. De hecho, ¡incluso una sola coma en el lugar equivocado puede evitar que su computadora se inicie!

Debido a este riesgo, recomendamos ampliamente la utilización de un liberador de registro confiable como %% product %% (Desarrollado por Microsoft Gold Certified Partner) para analizar y reparar cualquier problema relacionado con el registro de CODE.EXE. Utilizar un limpiador de registro automatiza el proceso de encontrar entradas de registro inválidas, referencias de archivos no encontradas (como aquella que causa el error CODE.EXE), y vínculos dañados dentro del registro. Antes de cada escaneo, se crea automáticamente una copia de seguridad, lo que le permite deshacer cualquier cambio con un clic y lo protege de posibles daños a su computadora. La mejor parte es que corregir errores de registro puede mejorar drásticamente la velocidad y el rendimiento del sistema.


Una advertencia: A menos que sea un usuario experimentado de PC, NO recomendamos editar manualmente el Registro de Windows. El uso incorrecto del Editor del Registro puede ocasionar problemas graves y requerir la reinstalación de Windows. No garantizamos que los problemas resultantes del uso inadecuado del Editor del Registro puedan corregirse. El uso del Editor del Registro es bajo su propio riesgo.

Para reparar manualmente su registro de Windows, primero necesita crear una copia de seguridad exportando una parte del registro relacionado con CODE.EXE (por ejemplo: Game Cracker):

  1. Haga clic en el botón Empezar.
  2. Ingresar " mando"v barra de búsqueda ... NO PULSAR TODAVÍA INGRESAR!
  3. Sosteniendo las llaves CTRL-Mayús en el teclado, presione INGRESAR.
  4. Se mostrará un cuadro de diálogo para acceder.
  5. Haga clic en .
  6. El cuadro negro se abre con un cursor parpadeante.
  7. Ingresar " regedit"y presione INGRESAR.
  8. En el Editor del Registro, seleccione la clave relacionada con CODE.EXE (por ejemplo: Game Cracker) de la que desea hacer una copia de seguridad.
  9. En el menú Expediente escoger Exportar.
  10. En la lista Salvar a seleccione la carpeta donde quiere guardar la clave de la copia de seguridad Game Cracker.
  11. En campo Nombre del archivo escriba un nombre para su archivo de copia de seguridad, como "Game Cracker Backup".
  12. Asegúrate en la caja Rango de exportación valor seleccionado Rama seleccionada.
  13. Haga clic en Ahorrar.
  14. El archivo se guardará con la extensión .reg.
  15. Ya posee una copia de seguridad de su CODE.EXE relacionado con la entrada de registro.

Los siguientes pasos para editar manualmente el registro no se describirán en este artículo, ya que lo más probable es que dañen su sistema. Si desea obtener más información sobre cómo editar manualmente el registro, consulte los enlaces a continuación.

Con ayuda Sintonizador de recursos puede abrir archivos ejecutables como .EXE, .DLL, .OCX, salvapantallas (.SCR) y muchos más. Una vez que abre el archivo, obtiene acceso a los recursos del archivo y puede reemplazar iconos, cursores y gráficos en varios formatos, cambiar cadenas en menús, cuadros de diálogo y otros elementos de la interfaz de usuario.

Sin embargo, debe tenerse en cuenta que los recursos del archivo ejecutable están separados del código del programa y, al cambiar la interfaz del programa, no obtiene acceso al código del programa. Usando el editor de recursos, puede cambiar los elementos de control del programa. No puede cambiar el código del programa con el editor de recursos.

Para cambios más serios (que, sin embargo, no conducirán a nada bueno sin suficiente experiencia en la programación de aplicaciones para Windows), recomendamos usar PE Explorer (editor para la estructura de archivos PE) o FlexHex (editor hexadecimal para archivos binarios).

Abrir un archivo EXE o DLL en Resource Tuner

Admite varias formas de abrir archivos. Para abrir el archivo para verlo y editarlo, haga clic en el botón Abrir documento en la barra de herramientas o seleccione el comando Expediente > Abierto del menú. El menú desplegable junto al botón en la barra de herramientas le brinda acceso rápido a una lista de archivos abiertos recientemente. La misma lista se puede obtener con el comando Expediente > Archivos recientes desde el menú del programa. El número de archivos de la lista se configura en el cuadro de diálogo Personalizar.


También puede abrir un archivo con Resource Tuner directamente desde el Explorador de Windows haciendo clic derecho en el archivo y eligiendo Abrir con Resource Tuner desde el menú contextual.

O simplemente puede arrastrar y soltar el ícono del archivo desde el Explorador de Windows al ícono Resource Tuner en el escritorio o en la ventana Resource Tuner.

También puede abrir el archivo desde la línea de comando.
Por ejemplo: restuner.exe nombre de archivo.exe

Al abrir un archivo, Resource Tuner realiza varias operaciones automáticas: descomprime el archivo si detecta que fue empaquetado usando UPX, luego verifica la estructura y los recursos del archivo en busca de posibles errores y finalmente reconstruye los recursos dañados de acuerdo con el especificación del formato de archivo ejecutable.

Errores al abrir un archivo

Si se produce un error al abrir un archivo, lo más probable es que se deba a tres motivos: el archivo está protegido, el archivo es de 16 bits o no es un archivo ejecutable.

1. Error: El archivo está dañado, comprimido por un empaquetador o protegido por un protector.

Hay muchas posibilidades de que el archivo se comprima para reducir su tamaño. Hay docenas de empaquetadores y protectores para archivos ejecutables, y aparecen nuevos todo el tiempo. Resource Tuner admite desempaquetar solo uno, pero el empaquetador más común: UPX. El resto de los empaquetadores no son compatibles y tendrá que descomprimir el archivo usted mismo antes de poder abrirlo para verlo o editarlo.

Esta situación no se considera un error de programa. No vamos a luchar contra los intentos de otros autores de programas de proteger sus creaciones de la piratería, ni a apoyar el desembalaje de varias decenas de empaquetadores diferentes, entre los que se encuentran tanto productos comerciales como productos caseros.

2. Error: el archivo se identifica como un ejecutable NE de 16 bits. ¡Este formato no es compatible!

Nuestros programas solo funcionan con archivos PE de 32 y 64 bits. El formato NE (abreviatura de "New Executable") es un formato de aplicación de 16 bits heredado de versiones anteriores de Windows 3.xx. Con la llegada de Windows 95, este formato se considera obsoleto y no se utiliza, aunque puede ejecutarse en plataformas modernas de Microsoft. No admitimos archivos de 16 bits y no tenemos la intención de admitirlos.

3. Error: el archivo no es un archivo EXE o DLL. ¡Generalmente!

Resource Tuner detecta un archivo no por extensión. Si cambia el nombre de la extensión del archivo ejecutable, por ejemplo, corrige .EXE a .TXT o elimina la extensión por completo, Resource Tuner no puede dejarse engañar por esto: el programa analiza el encabezado del archivo dentro del archivo al abrir un archivo, pero no mira en la extensión en absoluto.

Por lo tanto, si Resource Tuner le dice que el archivo no es ejecutable, entonces lo es. Si por alguna razón alguien proporcionó un archivo de texto en el juego con la extensión .DLL, entonces el archivo no deja de ser un archivo de texto y no se convierte en una biblioteca dinámica. No se deje engañar por la extensión del archivo.

Qué archivos no tiene sentido abrir en el editor de recursos

A pesar de que Resource Tuner está diseñado para abrir y editar cualquier archivo ejecutable de 32/64 bits, existen algunos tipos de archivos EXE en los que los recursos están prácticamente ausentes.

1. Archivos creados con Visual Basic.

En tales archivos, no hay nada en la sección de recursos, excepto el icono y la información de la versión. Las líneas y los diálogos en los programas escritos en visual BASIC se almacenan en su propio formato cerrado, y la sección de recursos estándar no se usa en ellos.

2. Archivos.EXE en gigabytes o más.

Dado que Resource Tuner es un programa de 32 bits, existen limitaciones naturales para colocar una imagen de un archivo abierto en la memoria virtual dentro del primer gigabyte. Un archivo de gigabytes o más simplemente no cabe allí.

3. Archivos autoextraíbles en forma de archivos EXE.

En dichos archivos, no hay nada en los recursos, excepto el icono y la información de la versión, o puede que no sea así. De hecho, se trata de datos archivados, provistos de una subrutina para desempaquetar.

4. Instaladores de otros programas.

En tales archivos, no hay nada en los recursos, excepto el icono y la información de la versión. Son muy similares al ítem 3. El archivo de instalación se puede considerar como un contenedor que contiene otro archivo .EXE en forma comprimida y una subrutina para extraerlo. Además, los programas para crear instaladores utilizan diferentes algoritmos para almacenar datos archivados dentro de sí mismos.

¡Descargue su prueba gratuita!


Resource Tuner funciona en todas las versiones de Windows
de 2000 y XP a 8 y 10.

Requerimientos mínimos del sistema:
Procesador Intel Pentium® o AMD K5 a 166 MHz
16 MB de RAM

Es imposible abrir el código fuente si tratamos de garantizar la seguridad de esto (especialmente si es algo propietario).

Pero hay formas de exponer total o parcialmente el código.

  • IDA Pro es el mejor hacker gratuito, algunas macros pueden permitirle revertir el código. Pero no siempre. Los productos Borland se abren especialmente bien.
  • Hiew.Exe es una pequeña utilidad gratuita que te permite editar tu código en lenguaje ensamblador. Puede editar texto y constantes enteras. Incluso puedes usarlo para "traducir" el programa a otro idioma, borrar el nombre de la empresa, etc.
  • Si hay un archivo PDB, o debug-info se adjunta al archivo, entonces el código se puede obtener en el entorno de desarrollo (si debug-info está completo) rara vez se puede utilizar. No puede obtener el código fuente, pero puede obtener "números de línea y nombres de fuente", así como los nombres / valores de todas las constantes, variables locales, evitar la "fragmentación de funciones" y también obtener clases con relleno de clases (casi todas las estructuras excepto el texto del programa) que simplificarán enormemente la comprensión del programa. Para algunas bibliotecas (dll), los archivos pdb se pueden descargar por separado. Es poco probable que una empresa que se precie filtre el pdb de su valioso producto.
  • Información de depuración, hay información de DebugInfo incrustada en el exe. Si existe dicha información y la utilidad correspondiente (por ejemplo, Borland Delphi está compilado y disponible), entonces puede hacer algo similar al punto anterior. Pero es poco probable que una empresa que se precie cometa un error tan "estúpido" (similar a pdb).
  • Si el archivo está escrito en C #, se puede ver casi completamente en códigos usando disSharp (tales programas "incluyen" solo mscorlib en la tabla de importación y eso es todo). DisSharp desmonta mal algunas partes del programa, pero su versión de pago o la versión de pago de utilidades similares pueden revelar mejor el código.
  • Si el archivo está escrito en FoxPro, clipper y otros lenguajes de código de bytes similares, se expande con utilidades especiales (Refox, por ejemplo).
  • La utilidad exescope.exe ResourceHacker.exe y sus utilidades similares le permiten ver el encabezado, las bibliotecas conectadas (usándolas puede comprender en qué está escrito el programa) y edite los recursos del programa (formularios de recursos, incluidos delphi, iconos, imágenes, tablas de líneas de recursos).
  • Si sabe cómo se creó el código, creo que hay utilidades especiales que pueden abrirlo (son de pago e inaccesibles).

Nuevamente, esto es con la condición de que no haya un empaquetador de código (entonces primero debe aplicar un depacker), un código encriptador / auto-modificable. Si no lo rompe un ofuscador, no lo desenrede. Cuanto más grande sea el código, más difícil será descifrarlo.

PD Personalmente, mi opinión es que todo está revelado y pirateado, pero lleva mucho, mucho tiempo. Quizás un año o más (depende de la experiencia y las herramientas, no hay buenas herramientas en el dominio público).