Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Escribir en el propio ejecutable

Hola:

Estoy intentando escribir unos datos en el propio ejecutable en ejecución algo simple en el antiguo MS-2 pero complicado en windows ya que no permite abrirlo para escritura.

Se que se puede hacer porque lo e visto realizar por algunas aplicaciones.

Tenéis alguien alguna pista de por donde va el tema.


Gracias
Responder Con Cita
  #2  
Antiguo 03-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
podrias especificar un poco mas lo que pretendes hacer?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Lo que quiero es que desde una aplicación por ejemplo "Gestion.exe" que estoy ejecutando crear un procedimiento para poder escribir unos datos en el mismo ejecutable que esta en ejecución el "Gestion.exe".

E intentado dar la orden de cerrar el programa y en la linea siguiente grabar los datos, pero el comando de cierre cancela los siguientes.


Saludos.
Responder Con Cita
  #4  
Antiguo 03-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y el objetivo de escribir datos en el ejecutable es para.......
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Para modificar una estructura interna con los datos del cliente, algo como una protección


Saludos
Responder Con Cita
  #6  
Antiguo 03-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece que lo que se pretende es que el programa 1 reciba uno o varios datos de otro programa y este los ejecute segun sea el criterio expuesto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
No, lo que pretendo es que el Progama 1 "escriba" unos datos en el Progama 1, o sea en el mismo.

Saludos
Responder Con Cita
  #8  
Antiguo 03-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y que los deje ahi, escritos.?....., osea, que cambie el contenido del codigo del EXE?.
Me parece que esto se llama inyección de codigo.
Nada facil.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Exasto Caral es eso mismo, no había escuchado eso de "inyección de codigo", me puedes dar una pista de donde buscar algo de información



Saludos
Responder Con Cita
  #10  
Antiguo 03-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
En alguna pagina de hackers..
Esos son los especialistas en eso.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Si Carol pero a mi solo me hace falta es conseguir permiso de escritura en el y que los datos que voy a escribir no es en la parte de código, si no en la de datos.


Saludos
Responder Con Cita
  #12  
Antiguo 03-04-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo.
Con el permiso del Club, revisa aqui.
Saludos
PD: Si no os parece bien, borrad el enlace.
__________________
Siempre Novato
Responder Con Cita
  #13  
Antiguo 03-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Softweb Ver Mensaje
Si Carol pero a mi solo me hace falta es conseguir permiso de escritura en el y que los datos que voy a escribir no es en la parte de código, si no en la de datos.
Saludos
¿Y cómo diferencia en un ejecutable la parte de código y la de datos?
Seguramente lo que quieres modificar es algún texto, si es eso entonces sólo has de escribir en la posición que te interese.
Suponiendo que sea eso, pero debes explicar EXACTAMENTE qué quieres hacer, no podemos estar intentando adivinar lo que quieres hacer, no sé si es que no lo quieres decir, pero en ese caso es que no será muy legal, no?, en caso contrario, que sí sea legal, entonces simplemente explícalo lo más amplia y claramente posible.
Responder Con Cita
  #14  
Antiguo 03-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Softweb.

El tema ya se ha tratado al menos una vez en este mismo foro: Como inyectar código directamente a un proceso externo.

Cita:
Para modificar una estructura interna con los datos del cliente, algo como una protección
Pero no entiendo el por qué valerte de un segundo ejecutable que modifique los datos del cliente...
Si realmente tu intención es proteger esos datos, te va a resultar mucho más sencillo cifrarlos y almacenarlos en el registro de windows o en un archivo desde el mismo programa.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-04-2011 a las 22:45:44.
Responder Con Cita
  #15  
Antiguo 03-04-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Según lo veo yo, no pretende inyectar código sino alterar el archivo.exe. La inyección trata de alterar el flujo de un programa en ejecución añadiendo código desde un proceso externo, pero no altera el archivo ejecutable original.

Si queremos alterar un ejecutable, lo mas sencillo es mediante otra aplicación.
El proceso sería:

1.- Programa principal encuentra datos para modificarse a sí mismo.
2.- Programa principal llama a programa secundario y le pasa los datos como parámetros, en un archivo.... Después se cierra.
3.- Programa secundario abre el archivo ejecutable del programa principal y realiza las modificaciones reescribiendo el exe. Después reabre al programa principal y muere.

El proceso puede realizarse también para modificar una dll del programa principal, en ese caso basta con descargarla y es el propio programa principal el que realiza los cambios para recarga después.

El problema está en realizar correctamente los cambios para no dejar inservible nuestra aplicación.


Saludos.

PD. Aquí aparece también tratado el tema de la inyección con un ejemplo interesante.

Última edición por escafandra fecha: 03-04-2011 a las 23:33:54.
Responder Con Cita
  #16  
Antiguo 03-04-2011
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Hola a todos:

escafandra los has cogido perfectamente, se que lo puedo hacer desde un programa externo o dll, de hecho actualmente lo realizo con un pequeño programa de linea de comando que tengo guardado en el propio ejecutable como recurso, en el momento de escribir los datos guardo el programa en disco y lo ejecuto, este programa me cierra la aplicación, le escribe los datos, lanza de nuevo la aplicación y se auto borra.

Pero es un sistema poco limpio y chapucero y me gustaría hacerlo desde el mismo programa por que se que se puede realizar.

Sobre no equivocarme de datos no hay problema llevo años haciéndolo sin problema, de echo empece en MS-2 que era una maravilla pues permitía hacerlo sin problema, pero el windows condenado no me permite abrirlo para escritura.

Saludos
Responder Con Cita
  #17  
Antiguo 03-04-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Y no te sirve el que sea tu programe el que llame al programa cambiador de forma automática?. El proceso si quieres se podría hacer al terminar, así no aparecen las incomodidades del cierre.

Saludos.
Responder Con Cita
  #18  
Antiguo 03-04-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Añado también que lo que se puede modificar es una dll que use el programa, en este caso no es necesario el cierre, basta con una llamada a la API FreeLibrary , realizar os cambios en la dll y llamar a LoadLibrary

Para este método debemos estar seguros de que esa librería sólo la usamos nosotros.


Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Quiero mi propio preview... MichelH Impresión 5 11-01-2009 00:20:49
Automatizar un browser propio acertij022 Internet 2 16-01-2008 14:43:47
Abrir archivo propio desde Windows....en programa propio darkphantom Varios 12 22-02-2007 04:46:49
Componentes con su propio editor Sonic C++ Builder 2 02-09-2004 13:03:19
Keygen propio brandolin Varios 3 02-06-2004 15:53:14


La franja horaria es GMT +2. Ahora son las 22:38:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi