![]() |
Embeber un .exe
Hola a todos, les que tengo poca experiencia con delphi pero me toco crear un herramienta que tendría que ser el launch de un cliente de un juego.
Este juego tiene su propio .exe el cual no quiero tocar sino ejecutar desde mi aplicacion la cual tiene que realizar algunas comprobaciones antes de ejecutarlo. El problema viene con que este .exe que debo ejecutar debe estar compilado dentro de mi mismo .exe ya que no le tengo que dar la posibilidad al usuario de ejecutarlo sin antes pasar por mi .exe. Ahora, mi pregunta es como embebo este .exe y lo ejecuto dentro de mi aplicacion. eh leido varios hilos en el foro que realizan cosas parecidad pero no se adaptan a esto, estoy medio perdido ya que averigue por resouces de delphi un componente que era bind to exe que no lo pude instalar. :confused: Cualquier ayuda es bienvenida. Saludos |
¿Embeber, Embebo? qué es eso? :p Tal vez, quieras decir Empotrar, o Empotro :)
Por lo de los recursos, vas por buen camino. Tienes que incluir el *.Exe dentro de los recursos de tu principal *.exe. Luego utilizando los descendientes de TStream (TResourceStream y TFileStream) harías el trabajo. No tengo un ejemplo a mano, pero si investigas estos componentes que te he dicho talvez se te de una pista de cómo puedes hacerlo. Saludos, Chris |
Cris,
Muchas gracias por responder tan rápido, pero lo que me comentas vos es lo que lei y no logro realizar. Un ejemplo seria muy bueno también. Seguiré investigando, si logro resolverlo lo posteo. |
|
Hola.
Creo que estás mezclando varias cosas y tal vez la solución que propones no sea la más adecuada. Cita:
Si buscas en los foros encontrarás bastantes temas al respecto (recursos RC_DATA). Esto que estás haciendo te puede reportar problemas con determinados antivirus y suites de seguridad. Tanto el tener un EXE "incrustado" en tu aplicación, como el extraerlo a disco y ejecutarlo (sobre todo esto último). Piensa que no es un comportamiento muy "fiable" desde el punto de vista de "alguien" que vigila la seguridad del equipo. :) |
Necesito hacerlo ya que debo esconder todo rastro del segundo ejecutable para que no intenten nada malicioso.
Otro tema con el componente JvDataEmbedded puedo hacer el embedded del .exe pero luego no se como ejecutarlo sin tener que bajarlo como un archivo .exe al disco el componente tiene un .Data que te devuelve una variable TStream para trabajarlo o tiene un método para guardarlo en disco, esto ultimo no lo quiero hacer por que no tienen que tener acceso a el .exe ni por un temporal. También intente con otro programa que se llama MoleBox que permite agregar cualquier archivo al ejecutable. Agregue el .exe y use la función: ShellExecute(Form1.Handle, nil, 'lalala.exe',nil, nil, SW_SHOWNORMAL) Pero tampoco funciono. Gracias por sus respuestas. |
Solucionado
Bueno, les comento como hice para solucionarlo.
Use un herramienta que se llama MoleBox. Esta herramienta lo que permite es en base a un .exe generar otro en el cual podes poner resource y genera un directorio virtual el cual solo puede ver su contenido el .exe resultante. Aparte trae opciones de encriptacion y demás cosas. Luego de probar varias veces no me andaba por una configuración a la hora de compilar el .exe resultante, luego lo solucione y anda perfecto. Puedo poner las .dll .exe y demás archivos que quiera que solo lo ve el .exe resultante. Saludos !! |
La franja horaria es GMT +2. Ahora son las 20:02:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi