Guardar datos portables xD
Guardar datos portables xD
HOla como les va.. pongo este tema para saber k opinan sobre a la hora de crear un portable.. el k sea... puedan guardarse datos sobre este.. supongamos lo siguiente.. el CCleaner portable.. podemos guardar datos en un INI... y digamos k yo creo un portable y donde este lleve tambien kiero llevar mis configuraciones... pero yo kiero tener solo UN archivo unico. para no tener k llevar el ini.. obvio k puedo generar el ini desde au3 del metodo k sea.. pero si yo kisiera k cuando lleve el .exe con todo adentro a otra sigan las configuraciones k anteriormente modificadas..
Creo k hize un lio xD...
el tema es k kiero llevar datos guardar configuraciones sin archivos externos como un INI o una key en el registro..
Manejarme solo con el exe unico..
Se me ocurren ciertas ideas.. pero kisiera escuchar alguna si se les ocurre..
Saludos
Creo k hize un lio xD...
el tema es k kiero llevar datos guardar configuraciones sin archivos externos como un INI o una key en el registro..
Manejarme solo con el exe unico..
Se me ocurren ciertas ideas.. pero kisiera escuchar alguna si se les ocurre..
Saludos
Aunk no m Buskes, Seguro m enkontras!
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Guardar datos portables xD
Recuerda que siempre puedes añadir información adicional al final de un fichero exe sin que le afecto. Para hacer esto tienes que abrirlo en modo binario y trabajar con el en este modo.
Luego puedes recuperarla.
Saludos.
Luego puedes recuperarla.
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Guardar datos portables xD
sii pense en eso y tambien xq no usar el reshack para añadir datos. etc.. es una buena ideaChefito escribió:Recuerda que siempre puedes añadir información adicional al final de un fichero exe sin que le afecto. Para hacer esto tienes que abrirlo en modo binario y trabajar con el en este modo.
Luego puedes recuperarla.
Saludos.
Gracias
Aunk no m Buskes, Seguro m enkontras!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Guardar datos portables xD
¿Por qué crees que no es tan buena idea usar un INI?
Coincido contigo en que para un portable cuantos menos archivos mejor, pero bueno, tampoco es estrictamente necesario que un portable sea un sólo archivo (que de todas maneras puedes distribuir en un único fichero comprimido).
Veo más cómodo el INI que meter los datos en el EXE por la portabilidad separada de datos de usuario y programa. Con un INI un ejecutable vale para varios usuarios, puedo pasar el EXE a otra persona ¡sin que se lleve mis datos con él! Puedo tener varios INI con configuraciones diferentes...
Además el INI es visible, y en mi opinión mejor que meter cosas en el registro. Creo que tener los datos en el EXE es algo intermedio entre el registro y un INI.
¿Y qué pasa cuando el portable está en un CD?
Por supuesto puede depender del tipo de programa, y lo de meter los datos en el EXE puede ser muy interesante en algunas ocasiones. Ni que decir tiene que cuando hagas un sistema así estaremos encantados de ver cómo lo haces.
No sé si habrá un problema con modificar un EXE que está en ejecución... quizás quede el archivo bloqueado ¿no?
Coincido contigo en que para un portable cuantos menos archivos mejor, pero bueno, tampoco es estrictamente necesario que un portable sea un sólo archivo (que de todas maneras puedes distribuir en un único fichero comprimido).
Veo más cómodo el INI que meter los datos en el EXE por la portabilidad separada de datos de usuario y programa. Con un INI un ejecutable vale para varios usuarios, puedo pasar el EXE a otra persona ¡sin que se lleve mis datos con él! Puedo tener varios INI con configuraciones diferentes...
Además el INI es visible, y en mi opinión mejor que meter cosas en el registro. Creo que tener los datos en el EXE es algo intermedio entre el registro y un INI.
¿Y qué pasa cuando el portable está en un CD?
Por supuesto puede depender del tipo de programa, y lo de meter los datos en el EXE puede ser muy interesante en algunas ocasiones. Ni que decir tiene que cuando hagas un sistema así estaremos encantados de ver cómo lo haces.
No sé si habrá un problema con modificar un EXE que está en ejecución... quizás quede el archivo bloqueado ¿no?
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Guardar datos portables xD
Coincido contigo es que está muy bien utilizar un archivo ini para guardar información (para eso están no? ).
Pero en otras ocasiones puede que te interese meter información dentro de un exe. Puedes meter hasta el archivo ini en el exe . O cualquier otro archivo, incluso otro exe.
Si necesitas tener datos privados, pues los encriptas de alguna forma .
Lo dicho, según las necesidades y lo que te quieras complicar la vida.
Pues antes de hacer esto, hice pruebas para meter información, cortar archivos y volver a juntarlos, en varios tipos de archivos, y ninguno se corrompió. Todos funcionaron.
No se me bloqueaba, simplemente no me dejaba modificarlo. Las funciones que utilizé para intentarlo me daban siempre algún error de que no se podía modificar.
Saludos.
Pero en otras ocasiones puede que te interese meter información dentro de un exe. Puedes meter hasta el archivo ini en el exe . O cualquier otro archivo, incluso otro exe.
Si necesitas tener datos privados, pues los encriptas de alguna forma .
Lo dicho, según las necesidades y lo que te quieras complicar la vida.
Jejejeje, sí, eso sería un gran problema . Tendrías que tratar cosas como esa en el código.Ximorro escribió:¿Y qué pasa cuando el portable está en un CD?
Jajajajaja, yo ya lo hice hace tiempo . Lo que pasa que no acabé el programa (para variar) y no lo colgé. Os acordais que iba ha hacer un programa estilo hacha para cortar archivos?, pues en el primer trozo metía la información de los cortes . También tenía la opción de ejecutarlo a través de un ini . A elegir.Ximorro escribió:Ni que decir tiene que cuando hagas un sistema así estaremos encantados de ver cómo lo haces.
Pues antes de hacer esto, hice pruebas para meter información, cortar archivos y volver a juntarlos, en varios tipos de archivos, y ninguno se corrompió. Todos funcionaron.
Mmmmmm....yo ya intenté esto y creo que no pude . Podía leerlo pero no modificarlo.Ximorro escribió:No sé si habrá un problema con modificar un EXE que está en ejecución... quizás quede el archivo bloqueado ¿no?
No se me bloqueaba, simplemente no me dejaba modificarlo. Las funciones que utilizé para intentarlo me daban siempre algún error de que no se podía modificar.
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Guardar datos portables xD
Y bueno.. eso es lo demenos.. si de todas formas aun lleve un INI al lado de mi EXE en un CD. obvio k no sera modificable.. es exacatamente lo msimo.. exepto k en este no deberia de dar error. (es lo de menos esto es exacatamente lo mismo segun yo xD)Ximorro escribió: ¿Y qué pasa cuando el portable está en un CD?
jejeje sii. yo hice algo tambien para krear archivos comprimidos propios.. y almacenar claves y datos cifrados en el mismo archivo donde seria casi imnposible detectar la mezcla.. siempre me parecio buena idea.. pero no del todo comoda pero util.. porsupuesto ;)Chefito escribió:Jajajajaja, yo ya lo hice hace tiempo . Lo que pasa que no acabé el programa (para variar) y no lo colgé. Os acordais que iba ha hacer un programa estilo hacha para cortar archivos?, pues en el primer trozo metía la información de los cortes.Ximorro escribió:Ni que decir tiene que cuando hagas un sistema así estaremos encantados de ver cómo lo haces.
Naa eso seria lo mas obvio y tonto de mi parte saltarme eso.. lo k pense antes fue. krear una herramienta externa k modifike los datos. y obvio k modificaria cuando el programa termine.. . osea. se abre el portable. Fileinstall la herramienta.. espero k termine de usar mi portable. y cuando cierro .. la herrienta se encarga de guardar los datos al portable y listo.. seria 2 archivos..Ximorro escribió:No sé si habrá un problema con modificar un EXE que está en ejecución... quizás quede el archivo bloqueado ¿no?
Aunk no m Buskes, Seguro m enkontras!
Re: Guardar datos portables xD
Y que les parece recomprimir el archivo?
Hace tiempo quise hacerlo y me dí la idea.
Consiste en: Abrir el ejecutable y descomprimir el ini, Leérlo, y por ejemplo medir el peso. Al cerrar el programa, si el peso del ini es diferente al iniciar, que diga: "Se han detectado cambios en la configuracion." & @CRLF & "¿desea actualizarlo (reempaquetarlo)?"
Y luego se reempaqueta el archivo.
Es la idea :)
Hace tiempo quise hacerlo y me dí la idea.
Consiste en: Abrir el ejecutable y descomprimir el ini, Leérlo, y por ejemplo medir el peso. Al cerrar el programa, si el peso del ini es diferente al iniciar, que diga: "Se han detectado cambios en la configuracion." & @CRLF & "¿desea actualizarlo (reempaquetarlo)?"
Y luego se reempaqueta el archivo.
Es la idea :)
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Guardar datos portables xD
Chefito ¡tienes que acabar el programa del hacha! ¡además de útil como utilidad será una maravilla técnica para aprender AutoIT!
Sí, con bloqueado quería decir eso, bloqueado para escritura. Supongo que habrá que hacer algo como lo que dice gna08, con un programa dentro del programa... ¡es un caballo de Troya! Probablemente se podría hacer con un simple BAT, en realidad bastaría concatenar los datos al EXE con un COPY binario, creo que tal como funciona AutoIT puedes meterle lo que quieras al final que él ya encuentra bien el script y lo ejecuta sin problemas.
La idea de Rupert.25 de reempaquetar el comprimido es curiosa, ¿pero cómo se ejecutaría? directamente desde el programa de descompresión? ¿o el exe sería realmente un autodescomprimible?
Ojo que más que el peso del INI hay que mirar el contenido, si cambio un valor de 1 a 0 el peso es el mismo, ambos valores son de un carácter (un byte) pero son diferentes con lo que el INI ha cambiado. Mirar la fecha tampoco es buena idea porque al descomprimirlo las cambiará, o eso creo...
Que conste que no digo que sea mala idea meter datos en el EXE, pero que un INI lo veo más normal, dependerá de la aplicación, y conocer la técnica para hacerlo siempre es interesante.
Sí, con bloqueado quería decir eso, bloqueado para escritura. Supongo que habrá que hacer algo como lo que dice gna08, con un programa dentro del programa... ¡es un caballo de Troya! Probablemente se podría hacer con un simple BAT, en realidad bastaría concatenar los datos al EXE con un COPY binario, creo que tal como funciona AutoIT puedes meterle lo que quieras al final que él ya encuentra bien el script y lo ejecuta sin problemas.
La idea de Rupert.25 de reempaquetar el comprimido es curiosa, ¿pero cómo se ejecutaría? directamente desde el programa de descompresión? ¿o el exe sería realmente un autodescomprimible?
Ojo que más que el peso del INI hay que mirar el contenido, si cambio un valor de 1 a 0 el peso es el mismo, ambos valores son de un carácter (un byte) pero son diferentes con lo que el INI ha cambiado. Mirar la fecha tampoco es buena idea porque al descomprimirlo las cambiará, o eso creo...
Que conste que no digo que sea mala idea meter datos en el EXE, pero que un INI lo veo más normal, dependerá de la aplicación, y conocer la técnica para hacerlo siempre es interesante.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Guardar datos portables xD
Me gusta las ideas que se proponen por aquí, ya que yo he tenido que intentar utilizar una de estas alguna vez .
Recuerdo hace años que en vb queríamos borrar el propio programa. No es tan complicado como añadirle algo, pero el problema es el mismo.....que al estar abierto el win no te da acceso.
Como siempre, una de las soluciones fue con un comando de consola (creo que del). Se puso que justo antes de salirse del programa se ejecutase. Pero había un problema, y es que según la velocidad de cierre del programa y de carga del comando, unas veces lo borraba y otras no .
En definitiva, según mi sabiduría (yo no llego a más), pienso lo que vosotros....hay que utilizar programas y comandos secundarios para hacer estas cosas. En muchos casos un archivo bat o vbs es muy util, ya que se pueden borrar sin problemas ellos mismos (creo recordar).
Estoy por proponer este tema en el foro de scripts para ver que soluciones le damos cada uno . Se podría empezar por el borrado de un mismo programa y seguir con la inserción de datos en el propio exe (este último bastante más complicado).
Saludos.
Recuerdo hace años que en vb queríamos borrar el propio programa. No es tan complicado como añadirle algo, pero el problema es el mismo.....que al estar abierto el win no te da acceso.
Como siempre, una de las soluciones fue con un comando de consola (creo que del). Se puso que justo antes de salirse del programa se ejecutase. Pero había un problema, y es que según la velocidad de cierre del programa y de carga del comando, unas veces lo borraba y otras no .
En definitiva, según mi sabiduría (yo no llego a más), pienso lo que vosotros....hay que utilizar programas y comandos secundarios para hacer estas cosas. En muchos casos un archivo bat o vbs es muy util, ya que se pueden borrar sin problemas ellos mismos (creo recordar).
Estoy por proponer este tema en el foro de scripts para ver que soluciones le damos cada uno . Se podría empezar por el borrado de un mismo programa y seguir con la inserción de datos en el propio exe (este último bastante más complicado).
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Guardar datos portables xD
No es dificil la idea. Si usan el Winrar se darán cuenta que al abrir un documento comprimido (por ejemplo de Word) y lo modifican, al cerrar el Word, el WinRar les notificará que se ha modificado y pregunta si desean reempaquetarlo.
Ximorro, tiene razón al mencionar lo del peso. Yo lo había pensado con un antivirus portable, que checara el archivo de las firmas, si el peso fué modificado es por que se actualizó, y luego reempaquetarlo.
Se me ocurren unas ideas; por ejemplo:
1 - El ejecutable principal, estará dentro de otro, (un archivo autoextraible que ejecute al principal). Por ejemplo (vease a modo directorio):
la idea es que el archivo contenedor, descomprima los dos en una carpeta temporal, y se cierre.
El programa "principal" revise las configuraciones del "Ini", y al cerrarse si fueron modificadas, que borre el exe "Contenedor", y lo vuelva a crear (o que simplemente lo modifique) con las nuevas configuraciones. Y despues de modificarlo, lo ejecute con el comando "/Limpiar" (puede esperar 2 segundos (o WinwaitClose), a q se cierre el "principal"). De esa manera el "Contenedor" borrará al "Principal" y al "Ini".
2 - El 1, es la única idea que tengo por el momento :D
Ximorro, tiene razón al mencionar lo del peso. Yo lo había pensado con un antivirus portable, que checara el archivo de las firmas, si el peso fué modificado es por que se actualizó, y luego reempaquetarlo.
Se me ocurren unas ideas; por ejemplo:
1 - El ejecutable principal, estará dentro de otro, (un archivo autoextraible que ejecute al principal). Por ejemplo (vease a modo directorio):
Código: Seleccionar todo
-Archivo Exe Contenedor.
-Archivo Exe principal
-Archivo Ini
El programa "principal" revise las configuraciones del "Ini", y al cerrarse si fueron modificadas, que borre el exe "Contenedor", y lo vuelva a crear (o que simplemente lo modifique) con las nuevas configuraciones. Y despues de modificarlo, lo ejecute con el comando "/Limpiar" (puede esperar 2 segundos (o WinwaitClose), a q se cierre el "principal"). De esa manera el "Contenedor" borrará al "Principal" y al "Ini".
2 - El 1, es la única idea que tengo por el momento :D
- XPyro
- Profesional del Autoit
- Mensajes: 542
- Registrado: 04 Mar 2007, 10:12
- Ubicación: México
- Contactar:
Re: Guardar datos portables xD
Interesante tema, pensaba lo mismo antes pero no daba con el clavo y decidí crearlos como siempre los e echo, si se les ocurre una solución estaré agradecido por compartir el dato
Re: Guardar datos portables xD
Tengo ese concepto. Veré si por la noche programo un peuqñisimo script de Ejemplo.
Yo creo que si funciona!
Yo creo que si funciona!
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Guardar datos portables xD
Esa es una de las ideas. Más o menos ya se ha comentado en otro post anterior. Tener un programa principal y otro auxiliar que revise cuando se cierra el programa principal para meter la información en el exe principal. No se necesitaría ningún ini.Rupert.25 escribió:El programa "principal" revise las configuraciones del "Ini", y al cerrarse si fueron modificadas, que borre el exe "Contenedor", y lo vuelva a crear (o que simplemente lo modifique) con las nuevas configuraciones. Y despues de modificarlo, lo ejecute con el comando "/Limpiar" (puede esperar 2 segundos (o WinwaitClose), a q se cierre el "principal"). De esa manera el "Contenedor" borrará al "Principal" y al "Ini".
Pero esto tiene otro problema. Quedaría el programa auxiliar en el temporar, ya que el no se puede borrar a si mismo.
A no ser que ejecute otra vez el programa principal de algún modo (por ejemplo como dices tú, con un parámetro) antes de cerrarse el programa auxiliar, y el programa principal borre al programa auxiliar. Funcionaria, pero no creeis que es un poco rollo y algo chapucero??? .
Yo creo que tiene que haber otras formas más faciles y efectivas .
He abierto un post en scripts para postear todos los códigos que se nos ocurra para poder hacer esto. A ver si al final sacamos algo en claro .
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Guardar datos portables xD
Rupert.25 escribió:No es dificil la idea. Si usan el Winrar se darán cuenta que al abrir un documento comprimido (por ejemplo de Word) y lo modifican, al cerrar el Word, el WinRar les notificará que se ha modificado y pregunta si desean reempaquetarlo.
Ximorro, tiene razón al mencionar lo del peso. Yo lo había pensado con un antivirus portable, que checara el archivo de las firmas, si el peso fué modificado es por que se actualizó, y luego reempaquetarlo.
Se me ocurren unas ideas; por ejemplo:
1 - El ejecutable principal, estará dentro de otro, (un archivo autoextraible que ejecute al principal). Por ejemplo (vease a modo directorio):la idea es que el archivo contenedor, descomprima los dos en una carpeta temporal, y se cierre.Código: Seleccionar todo
-Archivo Exe Contenedor. -Archivo Exe principal -Archivo Ini
El programa "principal" revise las configuraciones del "Ini", y al cerrarse si fueron modificadas, que borre el exe "Contenedor", y lo vuelva a crear (o que simplemente lo modifique) con las nuevas configuraciones. Y despues de modificarlo, lo ejecute con el comando "/Limpiar" (puede esperar 2 segundos (o WinwaitClose), a q se cierre el "principal"). De esa manera el "Contenedor" borrará al "Principal" y al "Ini".
2 - El 1, es la única idea que tengo por el momento :D
me parece interesante esa idea.. pero al mismo tiempo medio incomodo recomprimir todoo. pero no deja de ser util e interesante
k opinan de usar reshack ?
Aunk no m Buskes, Seguro m enkontras!
Re: Guardar datos portables xD
No creo que sea incómodo usando alguna UDF, con funciones automatizadas.
El reshacker me parece bien, creo que podría hacerlo. Antes he usado el programa de comandos del 7-Zip. Se peude copiar y distribuir pues es libre. Nada mas es un exe, y ejecutandolo con comando hace todo.
El reshacker me parece bien, creo que podría hacerlo. Antes he usado el programa de comandos del 7-Zip. Se peude copiar y distribuir pues es libre. Nada mas es un exe, y ejecutandolo con comando hace todo.
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Guardar datos portables xD
Me paso a contestar a la entrada que ha creado Chefito...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Guardar datos portables xD
el res hacker mas que nada sirve para cambiar los iconos, podrías crear un autorun, es decir un menu que esta en .exe pero tiene guardados los .exe que vos quieras y ahi es donde te fijas cual programa queres que corra o instalar, creo que a eso no se le dice autorun pero la idea se entendio autorun maestro menu editor es bueno para hacer eso, no se como podrías crear un portable, necesitarias el .exe junto a su .dll ¿no es más facil buscar portables ya creados y unirlos todos en un mismo .exe (archivo ejecutable)?..no se, me parece que te complicas jeje, todo bien ,saludos.