Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question ¿Como parcho con delphi 7?

Tengo el siguiente problema, tengo un programa, que esta en varias
maquinas, y quiero solo cambiarle, en cada maquina, unos detalles,
Los edits que tienen valores puestos en tiempo de diseño
. otras imagenes,

¿No saben como puedo hacer un programita que parchee, y meta
otro texto en los edits del que tiene, , y otras configuraciones, a los componentes
indy. tcp, ?

Vale gracias.
Responder Con Cita
  #2  
Antiguo 20-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Si el programa ya es un ejecutable instalado en las otras máquinas, vas a tener que reemplarlo con la nueva versión.

Hacer lo que quieres es mucho mucho más complicado.
__________________
[Crandel]
Responder Con Cita
  #3  
Antiguo 21-08-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
ha caray. yo crei que seria mejor, ... el metodo que plantee.

Pero ¿si, se puede, hacer modificaciones a un ejecutable. especificas
desde otro. ejecutable.?

Por ejemplo cambiarle el contenido de un Tedit. . labels, imagenes dentro
de un Timage.

Última edición por JXJ fecha: 21-08-2005 a las 04:11:24.
Responder Con Cita
  #4  
Antiguo 21-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿Y porqué no tener para cada aplicación un archivo de configuración (INI ó similar) que siempre te sería más sencillo actualizar? U otra forma... cualquiera que no sea la que planteas, puesto que, o me equivoco, o es no poco complicado llevar a cabo algo como lo que quieres conseguir.

No sé. Por la información que das, lo del archivo de configuración me parece lo más razonable a bote pronto: las aplicaciones leen el archivo en cuestión y presentan los datos que sean menester en los controles adecuados. Datos que no tienen porqué coincidir, puesto que podrían variar de un archivo de configuración a otro.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 23-08-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Me agrada más el poder meterle esos datos, via parche.

y ya con más tiempo. poder hacer mi programa parchador.
como los comerciales. encontre por ahi uno
que se ve bueno. el unico pero que le encuentro ,es que necesita de
archivo dcu.. donde se toman los datos a parchar.
Me gustaria más hacerlo a modo de inyeccion directa sin tener que tomar un
archivo los datos. sino que se tomen los datos,. desde el ejecutable parchador.
y este los meta en el exe. a parchar....
Responder Con Cita
  #6  
Antiguo 23-08-2005
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 21
lafirma Va por buen camino
puedes parchar por ejemplo cadenas haciendo uso de recursos, la API de Windows tiene varias funciones para ese fin... esto es si usas las cadenas como recursos y solo puede hacerlo cuando el ejecutable no esta en uso (no esta corriendo), pero de verdad quieres complicarte tanto y no considerar las opciones que te mencionan antes?
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #7  
Antiguo 23-08-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Si... quiero complicarme tanto,,, hasta ahora no encuntro codigo, de ejemplo.
y ando a tientas.
Responder Con Cita
  #8  
Antiguo 23-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Ya que quieres la versión dificil, te tiro algo para que empieses.

(Aclaro que yo nunca lo hice por lo que no se la solución, son solo ideas para empesar)

Abri el ejecutable como si fuera un archivo binario. Luego tenes que buscar la posición de la palabra que queres reemplazar, para poder saber su ubicación. Ahi reemplazas con la palabra que quieras.

Para probar esto sin escribir código, agarra un editor hexadecimal y abri tu ejecutable y hacelo manualmente, una vez que te funcione lo haces por código.

Nos vas comentando

Comenzo el hacking
__________________
[Crandel]
Responder Con Cita
  #9  
Antiguo 23-08-2005
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 21
lafirma Va por buen camino
Cita:
Empezado por Crandel
...como si fuera un archivo binario. Luego tenes que buscar la posición de la palabra que queres reemplazar, para poder saber su ubicación. Ahi reemplazas con la palabra que quieras.

Para probar esto sin escribir código, agarra un editor hexadecimal...
y yo que hablaba de complicarse...

JXJ, si utilizas recursos puedes usar las siguiente secuencia:
1. LoadLibrary para cargar el ejecutable.
2. FindResource y LoadResource
3. LockResource
4. BeginUpdateResource
5. UpdateResource
6. EndUpdateResource.
los nombres de las funciones son bastante explicativas o por lo menos te dan una idea... busca en la documentacion del API de Windows.
Con estas funciones (extraidas de la MSDN Library) podes modificar cualquier recurso que se encuentre en tu ejecutable.
visita esta direccion para una introduccion sobre recursos...
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #10  
Antiguo 24-08-2005
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
quizá este program te ayude en tu misión

http://www.angusj.com/resourcehacker/

sirve para extraer recursos de ejecutables y librerias, además permite guardar los cambios que vayas haciendo
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


La franja horaria es GMT +2. Ahora son las 15:24:25.


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