Foro de la Computadora Personal

Consultas de Soporte Técnico - Resolver Problemas => Programación, Bases de Datos, Seguridad => Mensaje iniciado por: FSR en Marzo 11, 2005, 09:58:51 am

Título: Modificar Ejecutable...
Publicado por: FSR en Marzo 11, 2005, 09:58:51 am
Hola, compañeros.

Hasta ahora he podido crear programas que pueden automidificarse o leer trozos de archivos incrustados en ellos. Me explico: en algunos casos, para no trabajar con archivos extras, al ejecutable final le anexo archivos, de modo que aparezca como un solo archivo ejecutable final. Para acceder a los archivos incrustados, sólo abría el ejecutable y leía desde la parte que me interesaba. Con el Pascal 6.0 no he tenido problemas, pero al tratar de hacerlo desde Freepascal no me lo permite; puedo modificar/accesar cualquier archivo, menos el ejecutable que está corriendo.

El siguiente es un ej. del acceso que quiero hacer:
Program Ejemplo1;
Uses
    Crt, Dos;

Var
    F :File;

Begin
    Assign(F, ParamStr(0));    
    Reset(F, 1);
    .....
    .....
    Close(F);
End.
El módulo que estoy creando es para trabajar en DOS32 (modo DOS; pero desde Windows).

¿Saben cómo puedo accesar a un ejecutable que está corriendo desde FreePascal?

Agradeciendo desde ya vuestras ayudas, bendiciones y Saludos :wink:
Título: Re: Modificar Ejecutable...
Publicado por: JorgeAVM en Marzo 11, 2005, 02:23:48 pm
No sé si el problema más bien será de Windows que en su sistema de archivos tiene al ejecutable en uso y no puede ser modificado.

Otra idea sería hacer una copia en una carpeta temporal y al finalizar reemplazar el archivo con el de la carpeta temporal.

Suerte! :roll:
Título: Re: Modificar Ejecutable...
Publicado por: FSR en Marzo 11, 2005, 02:31:57 pm
Gracias por contestar, Jorge. El problema es que ni siquiera me permite accesar el archivo para leer (ni pensar en grabar...). No es problema de atributos, porque tengo rutinas para accesar a archivos protegidos contra escritura y no es el caso.

Puede que sea problemas de permisos, pero no sé si en el FreePascal existe alguna orden que permita abrir archivos que ya están siendo accesados.

En realidad, más que modificar, necesito leer sierta información almacenada en el ejecutable.

Saludos :wink:

P.D.: El programa FSPLIT que te envié utiliza la técnica de accesar al ejecutable....
Título: Re: Modificar Ejecutable...
Publicado por: rherrera72 en Enero 26, 2009, 04:21:08 am
Aca veo 2 cosas:

El programa que corre se lee a si mismo?
Si es asi, entonces no es mas facil, enviar la porcion a la ram y manipularla?, es decir que al final vas a leer y luego colocar en ram entonces por que hacerlo en 2 pasos?
Si no es asi, entonces mi recomendacion es copiar el archivo con instrucciones de shell y luego leer la copia y no el original para luego borrarlo, idealmente la copia deberia tener un nombre random para que no colisione si hay mas instancias, pero no en el temporal por que a veces se necesitan permisos de administracion para grabar o leer de ahi, y si no es un administrador el que corre el programa pueda fallar.

Saludos
Título: Re: Modificar Ejecutable...
Publicado por: gin en Enero 26, 2009, 04:54:24 am
CitarRespuesta #2 en: Marzo 11, 2005, 08:31:57
Título: Re: Modificar Ejecutable...
Publicado por: chaco en Enero 26, 2009, 05:35:55 am
Cita de: "shakka"

Aunque es buena la respuesta usualmente en la netiqueta de los foros se solicita no reabrir temas muy viejos, por que es muy probable que quien pregunto ya ni se de la vuelta por aqui.
Título: Re: Modificar Ejecutable...
Publicado por: JorgeAVM en Enero 26, 2009, 02:59:08 pm
Es cierto, pero si alguien más tiene la misma consulta, quizá le sirva ;D
Título: Re: Modificar Ejecutable...
Publicado por: rherrera72 en Enero 27, 2009, 05:59:18 pm
Es cierto, al final ya no dijo si se arreglo o no el problema y a mi forma de ver las cosas una respuesta siempre se debe agradecer, y otra cosa es que al revisar la netiquette, si encontre sobre el spam y los flames, pero al contrario dice que si hay pregunta sin respuesta, hay que continuar el hilo hasta que quede como caso cerrado.

Saludos.
Título: Re: Modificar Ejecutable...
Publicado por: JorgeAVM en Enero 27, 2009, 09:45:14 pm
Así es! no aguante nada! jajaja!!  ;)
Título: Re: Modificar Ejecutable...
Publicado por: FSR en Julio 04, 2012, 06:21:47 pm
Bueno, pueden cerrar el tema porque ya no insistí más. Con respecto al tirón de orejas por parte de -CHACO-, le encuentro la razón (hace tiempo que ni siquiera puedo entrar a otras cosas que no sean mi trabajo). Por lo menos debería haber dicho que ya no seguía con el tema.

Me disculpo y les agradezco a los que me hayan respondido :)
Título: Re: Modificar Ejecutable...
Publicado por: JorgeAVM en Julio 04, 2012, 07:41:38 pm
No hay problema.
Más bien un gusto tenerte por acá nuevamente.