Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Guardar valor de variables dentro del ejecutable (https://www.clubdelphi.com/foros/showthread.php?t=68978)

jourdan 19-07-2010 02:01:16

Guardar valor de variables dentro del ejecutable
 
Hola a todos, tengo una duda, es posible guardar el valor de unas 4 variables dentro del ejecutable?
Necesito guardar una fecha y algunos contadores, pero quiero que sea dentro del ejecutable para que el usuario no modifique digamos un archivo ini o algun registro en la base de datos desde algun administrador de bases de datos.
Gracias

Caral 19-07-2010 02:10:48

Hola
Y la fecha y variables van a ser siempre las mismas?.
Si es asi, si.
De lo contrario se estaria modificando el exe en cada ocasion lo que creo que no es factible, por lo menos no tan facil de hacer.
Saludos

sintecsl 19-07-2010 08:47:46

Modificación exe
 
Hace años era facil con turbo pascal bajo DOS.

Ahora no creo que sea muy dificil.

Yo eso lo hice para evitar copias fraudulentas en mi proyecto final de carrera.

Las variables se guardan de forma consecutiva y agrupadas con la alineación que le des al compilador. Es decir, para encontrar lo que buscas en el exe ponle una cabecera.

Te doy una idea :

TuVariable : Record
xxxx : 'q33895nknbfpiuhsdpuhfvwrjnvpuhpuheijf1';
fecha : Lonint; //La fecha de caducidad
codigo : Array[1..1000] of char; //Tu clave codificada
end;

Creas un procedimiento que habra el fichero y inicie una busqueda en binario (por supuesto) de la cabecera "xxxx" y cuando la encuentre estará frente a la restantes definiciones (se debe respetar las longitudes. Es mas, en el codigo puedes introducir la fecha y te ahorras cagarla con las distancias.

Por cierto ya sé que xxxx tiene que ser variable no constante pero es que yo lo he hecho de todas las maneras y me ha funcionado siempre.

De todas formas piensa que el anti-virus detectará la modificación en el fichero (si es bueno, claro). Por lo que deberá el usuario decirle que lo deje arrancar una vez lo automodifique.

Es muy simple, da igual que el fichero esté en memoria, según la autorización que tenga el windows se dejara hacer lo que quieras.

white_zombie 19-07-2010 10:01:32

Hola, tal vez esto te pueda ayudar http://edn.embarcadero.com/article/27979

Un Saludo.

Neftali [Germán.Estévez] 19-07-2010 11:57:26

En teoría se puede hacer, creo que alguna vez se ha tratado aquí del tema, aunque lo considero un poco extraño.
Veo más lógico y sencillo guardarlo en cualquier otro sitio, INI/Registro/BD, tal como tú has dicho, pero utilizando encriptación, si te hace falta.

Puedes encriptar los valores y utilizar un CRC para segurarte de que no te los han modificado.

El tema de modificar un EXE, a parte de que no es sencillo, posiblemente te va a dar muuuuchos problemas con cualquier antivirus o suite de seguridad que tengas instalada. No es de extrañar, que cuando modifiques el EXE, los programas antivirus te den falso aviso o te lo bloqueen directamente.

jourdan 19-07-2010 18:53:47

Muchas gracias a todos por sus respuestas, creo que por las cuestiones de seguiridad y antivirus no será lo más factible hacerlo dentro del ejecutable, seria un poco vergonsozo que me llamen los clientes porque el sistema sea señalado como virus! de todas maneras voy a revisar sus sugerencias y también revisare la forma de hacerlo con encriptación.
Nuevamente muchas gracias!


La franja horaria es GMT +2. Ahora son las 17:02:07.

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