Uther Le 29/06/2004 à 18:27 demande a kévin de te faire la liste des moyens de détourner ca sans kernel (même si a mon avis le kernel est le meilleur vu qu'il fait bien plus que ca mais je n'ai pas envie que ca parte en troll)
h220xtsr ( pas sûr), ttstart, sstart, kerno (pas sûr)

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
IroS > pourquoi tu ne veux pas utiliser les pack archive ? ça serait pas plus simple pour toi ?

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
Surtout que ton prog est déjà en kernel, non ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
bidoo Le 30/06/2004 à 14:23 hé les gar ce serait pas ca pour choper l'adresse du prog en cours :
SYM_ENTRY *FindProgramVar (void);
si c ca!!
SYM_ENTRY *FindProgramVar (void);
Finds the running program's variable.
FindProgramVar returns a pointer to the SYM_ENTRY structure of the running program, or NULL in case it is not found (e.g. if the program was compressed).
Note: Do not call anything which may cause a heap compression between when this function is called and when the pointer to it is used. Otherwise, the pointer may become invalid, causing a crash or other random, unexpected behavior. You can also use FolderOp to avoid this problem.
Flanker> euh, ça marche pas si c dans le ghost space...
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
"Function (tigcc.a)"
c pas une fonction du TIOS, c une fonction de TIGCCLIB.
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
bidoo Le 30/06/2004 à 14:56 cerde2000>>ba oui c ca c le truc que j'ai utilisé pour faire mon self extracting et ca marche bien
par contre comment on fait apres pour choper a partir de où commence le code ????
le kernel sait s'il a utilisé ou non le ghost space, nan ? donc il peut le soustraire s'il l'a utilisé. Si ça marche pas avec TitaniK, c'est qu'il est buggué, stou

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
J'ai dit dès le départ que c'était un hack! Et "hack" = "arrêtera de marcher à tout moment".
tigcc_compiled. est le début du fichier, pas le début du programme. Ce n'est plus la même chose.
Mais il y a maintenant une méthode qui n'est pas un hack: __ld_entry_point.
Zeph Le 30/06/2004 à 17:01 Et qui ne changera donc plus *jamais* ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
qu'est-ce qui ne va pas?
//Pointe sur le sym du prog en cours
SYM_ENTRY *sym = FindProgramVar();
//Pointe sur le handle
HANDLE *handle;
handle = HeapDeref(sym->handle);
//Récupère la taille du prog
unsigned short add=100,size=*(unsigned short*)handle;
//Modifie la taille
HANDLE h = HeapRealloc(*handle,size+add+2);
//Si ça a réussi
if (h)
{
//Met à jour le pointeur du handle
handle = HeapDeref(h);
// Pointe "old" sur le tag avant redimensionnement et "p" sur l'octet precedant le tag
char *old = (char*)(handle+*(unsigned short*)handle+1);
char *p=old-1;
// Ajoute 10 octets à la variable
*(unsigned short*)handle = size+add;
// Réécrit le tag
*(unsigned char *)(old + add) = ASM_TAG;
// cherche le mot nul
while(*(p--) || *p) p-=3;
// déplace la table de relogements
memmove(p+add,p,old-p);
}
on dirait que le pointeur du handle n'est pas remis à jour??!?
Déjà, ça n'est pas un pointeur de handle, mais un numéro de handle. Ensuite c'est normal, HeapRealloc ne fait qu'étendre le handle si possible mais n'en change pas le numéro (cf la doc de tigcc...).

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.