Título: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: Crazy.sx en 24 Noviembre 2012, 08:40 am Hola. Hace unos años atrás había hecho una pregunta parecida a esta pero con VB6, la cosa es que no encuentro el post y creo que la respuesta me la había dado E0N en aquella oportunidad y lo quería ver de nuevo como para usarlo de guía.
Ahora ya no uso VB6 sino VB .NET 2010, y lo que quiero hacer es hacer algo similar a lo que hace, por ejemplo, el bifrost en cuanto a generar un "servidor" con las configuraciones para la conexión, etc., que han sido especificadas de antemano desde el "cliente". A ver, si me explico mejor. Por ejemplo, tener un programa que tenga dos textbox y un botón y que al hacer clic en ese botón se genere automáticamente otro ejecutable que al ser ejecutado (valga la redundancia) muestre como mensaje los textos que haya ingresado en los textbox del primero. Aquella vez, E0N, había usado la función Split y un string que servía como delimitador pero tomaba al archivo binario... bueno, algo así, que se yo. :-\ No se si me he sabido explicar, pero espero que me hayan entendido. ¿Cómo se haría esto? Espero que me puedan ayudar, gracias. PD: No estoy haciendo troyano ni nada de eso, solo lo puse como ejemplo al bifrost porqu es lo primero que se me vino a la cabeza y que es exactamente lo que me gustaría hacer. Título: Re: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: seba123neo en 24 Noviembre 2012, 15:03 pm si me acuerdo que escribia esa informacion al final del archivo o en una sección, pero habia que saber donde segun la estructura del ejecutable PE. creo que los de visual basic .NET al compilarse a un codigo intermedio no se si eso afectara en la estructura y ese codigo sigue funcionando.
Título: Re: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: Keyen Night en 24 Noviembre 2012, 15:59 pm Puedes agregar la información a los recursos del ejecutable como array de bytes, si la serializas, haciendo uso de las API:
Código
Puedes prepar el ejecutable a generar para buscar en el mismo el recurso, que no existe en el momento que generas el ejecutable, sino que se le agrega después de que se genera. Puedes buscar información de como se usan estas API, espero que te sirva de algo, si no logras dar con la funcionalidad avisas y te doy un ejemplo ;) Título: Re: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: Crazy.sx en 24 Noviembre 2012, 19:10 pm si me acuerdo que escribia esa informacion al final del archivo o en una sección, pero habia que saber donde segun la estructura del ejecutable PE. creo que los de visual basic .NET al compilarse a un codigo intermedio no se si eso afectara en la estructura y ese codigo sigue funcionando. Creo que por ahi era la cosa, agregando los datos al final (EOF). Mmm, ahora que me acuerdo se trataban de tres cosas, había un "juntador", "cliente", "servidor" y era el juntador quien unificaba las cosas, pero el cliente y el servidor debían coincidir en los datos para que funcionara. Seguiré buscando :silbar: Puedes agregar la información a los recursos del ejecutable como array de bytes, si la serializas, haciendo uso de las API: Código
Puedes prepar el ejecutable a generar para buscar en el mismo el recurso, que no existe en el momento que generas el ejecutable, sino que se le agrega después de que se genera. Puedes buscar información de como se usan estas API, espero que te sirva de algo, si no logras dar con la funcionalidad avisas y te doy un ejemplo ;) :o No entendí esto Keyen Night, disculpa. ¿Dices sobre agregar el ejecutable a generar dentro del proyecto y enviarle los datos para configurarlo? :S Título: Re: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: Keyen Night en 24 Noviembre 2012, 21:21 pm Puedes intentar agregar los datos al final del ejecutable, y que los últimos 4 Bytes sean un Int32 que de el tamaño de los mismo, pero no se hasta que punto esto pueda dañar el ensamblado por eso te recomiendo los Resources.
Aquí esta un ejemplo, en Debug no funciona, vaya a saber quien por que :xD Código
Título: Re: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: Crazy.sx en 25 Noviembre 2012, 03:05 am Ok, gracias. Voy a probar a ver que me sale.
Encontré: El post del cual les comentaba pero el archivo ya no existe por lo que sigo en la misma :P http://foro.elhacker.net/programacion_vb/source_editor_de_servers_completo-t171824.0.html;msg812090 Y aquí algo parecido pero no se cómo se lo pasaría a .NET: http://www.antrax-labs.org/2012/05/server-builder-vb6.html Título: Re: ¿Generar un ejecutable con configuraciones personalizadas desde otro ejecutable? Publicado por: Novlucker en 26 Noviembre 2012, 13:37 pm Lo agregaría como recurso embebido al ejecutable con Mono.Cecil (http://www.mono-project.com/Cecil) :P
http://hintdesk.com/c-how-to-edit-resource-of-an-assembly/ Otra opción es ver como lo han implementado en el código de flu (http://code.google.com/p/flu-project/) :P Saludos |