elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Extraer PE i pegarlo en otro fichero ¡ayuda!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Extraer PE i pegarlo en otro fichero ¡ayuda!  (Leído 6,857 veces)
ApOkAlizE

Desconectado Desconectado

Mensajes: 150


¿sabes lo que vales? ¡consigue lo que te mereces!


Ver Perfil
Extraer PE i pegarlo en otro fichero ¡ayuda!
« en: 22 Diciembre 2011, 14:23 pm »

Bueno pues estoy comenzando C++ desde hace unos meses y como antes usava VB pues no aprendi muy bien como funcionan las cosas. Pues ahora intento con C++ extraer el PE de un .exe que yo he creado y lo extrae bien, y mi idea es crear otro archivo con extension .exe también y ahí se le añade el codigo PE, pues aparentemente tienen ambos el mismo tamaño y tal, pero al ejecutar el nuevo archivo me sale el mensaje de "program too big to fit in memory", pero ambos archivos ocupan exactamente lo mismo (3.79MB), deberia poderse ejecutar también ¿no?
Gracias.


« Última modificación: 22 Diciembre 2011, 14:26 pm por ApOkAlizE » En línea

Los virus informaticos son como las personas, hacen lo posible para destruir y hacen lo impossible para no ser destruidos... - ApOkAlizE
Sagrini

Desconectado Desconectado

Mensajes: 107


Ver Perfil WWW
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #1 en: 22 Diciembre 2011, 15:22 pm »

Seguramente el problema es que no copias bien el PE del primer programa, pero es una suposición. Deberías poner tu código, ejemplos, la idea que tienes del problema... etc. Así no puedo ayudarte mucho :D
Un saludo. Sagrini


En línea

ApOkAlizE

Desconectado Desconectado

Mensajes: 150


¿sabes lo que vales? ¡consigue lo que te mereces!


Ver Perfil
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #2 en: 27 Diciembre 2011, 01:06 am »

http://www.megaupload.com/?d=KXRCD5DO
Aquí os dejo una prueva que he hecho es un programa que estoy haciendo para el instituto de credito de sintesis de grado medio, hay el archivo original, el que tendria que funcionar y un .txt con el PE. A ver si sabeis deicrme que hago mal.
Gracias!
En línea

Los virus informaticos son como las personas, hacen lo posible para destruir y hacen lo impossible para no ser destruidos... - ApOkAlizE
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #3 en: 27 Diciembre 2011, 02:03 am »

http://www.megaupload.com/?d=KXRCD5DO
Aquí os dejo una prueva que he hecho es un programa que estoy haciendo para el instituto de credito de sintesis de grado medio, hay el archivo original, el que tendria que funcionar y un .txt con el PE. A ver si sabeis deicrme que hago mal.
Gracias!

Ya... ¿Hacemos ingenieria Inversa?, ¿Adivinamos lo que has hecho? si es asi ¿Cuanto tendremos de retribución?... una cosa es querer ayudarte y otra que nos dejes a ciegas y adivinar lo que has hecho/quieres hacer, por otro me parece que el problema esta mal planteado...

Nota. Aprende primero que es el Formato PE y a que se refiere, por que extraer el PE implica que el EXE esta dentro de un lugar X... y lo deseas extraer (como si estubiera en un zip...), creo que quieres leer cada campo de las estructuras implicadas en el Formato PE (esto se entenderia mejor ya que el archivo que subiste trae 2 archivo en formato PE de dudosa procedencia que nunca ejecute).

Dulces Lunas!¡.

EI: juntando mensajes.

Acabo de ver los archivos con un editor Hexadesimal y lo que pasa es que TODOS lo caracteres que NO SON IMPRIMIBLES los pasa a espacios... una vez mas pon tu codigo... a simple vista lo que hiciste fue abrir un exe con el block de notas y guardarlo en un txt y despues guardarlo en un EXE si es este proceso entonces es un proceso errado por lo que ya te mencione... debes abrir el archivo en modo BINARIO, y si lo visualizas visualizalo en Hexadecial...

Por ejemplo:

*Los Bytes 0x00 pasan a ser 0x20...

Dulces Lunas!¡.
« Última modificación: 27 Diciembre 2011, 11:03 am por Eternal Idol » En línea

The Dark Shadow is my passion.
ApOkAlizE

Desconectado Desconectado

Mensajes: 150


¿sabes lo que vales? ¡consigue lo que te mereces!


Ver Perfil
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #4 en: 27 Diciembre 2011, 17:14 pm »

BlackZeroX lo que sucede es que yo havia provado de hacerlo desde C++ abriendolo en modo binario y creando otro archivo .exe y meterle el binario del primero pero tampoco me funcionava y este ejemplo si que lo abrí con el bloc de notas, ¿pero quieres decir que hay alguna diferencia? La verdad no he entendido muy bien a que te referias con tu respuesta.
En línea

Los virus informaticos son como las personas, hacen lo posible para destruir y hacen lo impossible para no ser destruidos... - ApOkAlizE
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #5 en: 27 Diciembre 2011, 18:02 pm »

para darle un nombre podria ser "como extraer bytes de un exe"
bueno a mi se me ocurre mapear el archivo y guardarlo en una string unicode
luego abrir un nuevo archivo e insertar los bytes asi de sencillo :P
para mapear:

CreateFile
CreateFileMapping
MapViewOfFile

En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #6 en: 27 Diciembre 2011, 18:17 pm »

No, Unicode se usa para texto.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #7 en: 27 Diciembre 2011, 18:25 pm »

oh si!
en un arrays de bytes no ;D
es que lo habia hecho en VB :P
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #8 en: 27 Diciembre 2011, 21:54 pm »

BlackZeroX lo que sucede es que yo havia provado de hacerlo desde C++ abriendolo en modo binario y creando otro archivo .exe y meterle el binario del primero pero tampoco me funcionava y este ejemplo si que lo abrí con el bloc de notas, ¿pero quieres decir que hay alguna diferencia? La verdad no he entendido muy bien a que te referias con tu respuesta.

Lo que pasa es que si abres una rchivo con BYTE NO IMPRIMIBLES con el block de notas y lo vuelves a guardar con este (el block de notas) TE SUSTITUye TODOS LOS BYtES NO IMPRIMIBLES  por bytes 0x20 (Espacios)... es decir te corrrompe el archivo original... lo que haces yo tambien lo he hecho en forma concluyente en C debes abrir los archivos asi:

Código
  1.  
  2.    hFileSrc = fopen(FILE_SRC, "rb");
  3.    hFileDst = fopen(FILE_DST, "wb");
  4.  
  5.  

P.D.: Da igual si se hace en vb o C es el mismo proceso siempre. UNICODE son para textos con caracteres especiales... caracteres chinos, japonen... pero au asi solo son un conjunto de byte Unicode = 2 bytes...

Dulces Lunas!¡.
« Última modificación: 27 Diciembre 2011, 21:57 pm por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
Sagrini

Desconectado Desconectado

Mensajes: 107


Ver Perfil WWW
Re: Extraer PE i pegarlo en otro fichero ¡ayuda!
« Respuesta #9 en: 29 Diciembre 2011, 19:09 pm »

Trabaja con esto:
Código
  1. #include <fcntl.h>
  2.  
  3. int main ()
  4. {
  5. int origen=open ("./origen", O_RDONLY), destino=open ("./destino", O_RDWR|O_CREAT|O_TRUNC, 0777); char buffer [15];
  6. read (origen, buffer, 15); write (destino, &buffer, sizeof (buffer));
  7. close (origen); close (destino); return 0;
  8. }
  9.  
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines