On Wed, 26 Sep 2001 18:43:42 +0200, "Jesper Mosegaard"
<mosegardREMOVELETTERSWITHCAPITAL@daimi.au.dk> wrote:
>1) Er det muligt at at gemme en given tilstand (en eller flere variable) for
>en specific executable med C/C++ og windows således at denne tilstand er
>stabil og sikker for en given executable. Da dette med sikkerhed ikke kan
>gøres 100%, da filen blot kan kopieres til en anden computer søger jeg
>information om metoder der kan antages at være nogenlunde sikker - med en
>passende definition af nogenlunde.
>
>2) Er det muligt at editerer i en executable fil på harddisken mens denne
>køre i C/C++ under windows (uden at programmet indlæst i ram ændres).
En executable kan ikke åbnes for skrivning, sålænge programmet kører.
# include <cstdio>
int main(int argc, char* argv[])
{
FILE* pFile;
if ((pFile = fopen(argv[0],"a+")) == 0)
{
perror(0); // havner altid her under operativ
systemmer, med rimmelig beskyttelse.
return 1;
}
else
{
; //code to change executable
}
return 0;
}
Man kan måske gå andre, mere low-level agtige veje under Windows 3.1,
95, og -98
Man kan omkapsle afviklingen af en executeable, med en anden
executeable, som så modificerer efter den indre programafvikling.
Jeg synes det er noget af et hack med ovennævnte.
Gem i anden fil, eller registry, og indbyg defaults at falde tilbage
på.
MVH Benny Andersen
|