nom de la fonction appelante - ASM - Programmation
Marsh Posté le 23-10-2002 à 19:34:56
Que veux tu faire exactement ? Donne plus d'infos, car la c'est le flou artistique....
Marsh Posté le 23-10-2002 à 19:39:33
Je crains que meme avec plus d'infos ce qu'il demande soit impossible ( surtout dans la catégorie asm )
Marsh Posté le 23-10-2002 à 19:41:16
C'est ce que je crains aussi... au mieux il pourra récupérer l'adresse de la fonction appelante, mais au prix d'une gymnastique pas possible avec la pile...
Marsh Posté le 23-10-2002 à 19:43:21
Au prix d'une autre gymnastique je pense qu'il pourra récupérer le nom, a condition de se trouver dans une DLL ( car sinon de toutes manieres le nom de la fonction a été perdu depuis le linkage )
Edit : c'est juste de la curiosité mais je me demande a quoi ca peut servir ca! D'autant plus que l'intéret de faire de l'asm aujourd'hui - je vais sans doute me faire incendier et provoquer un troll - c'est le cracking, les virus, et les demos...
Marsh Posté le 23-10-2002 à 22:05:17
Ah ouais pas bete, un débuggeur pourrait certainement faire cette gymnastique a ta place. C'est quoi que tu essaie de cracker?
Marsh Posté le 23-10-2002 à 22:14:40
c vrai que c forcément pour ça, en y réflechissant bien
y'a un débugger qui est génial pour ça
Marsh Posté le 23-10-2002 à 22:22:06
Ace17 a écrit a écrit : Personnelement j'utilise Softice |
copaing
t'arrives à le faire fonctionner sous XP ? et avec une souris USB ?
Marsh Posté le 24-10-2002 à 09:55:50
LOL sous XP! Non je n'ai jamais essayé; mais personnelement j'ai gardé un Win98 a coté de mon 2k pour ce genre d'opérations. Quand a la souris ps/2, elle n'a jamais marché parfaitement.
Marsh Posté le 24-10-2002 à 12:19:00
euh c'est vrai j'ai pas ete tres clair
en fait c'est pour debugger mes dll pas pour cracker . Dans la pile doit bien avoir l'adresse de la fonction appelante nan ? Je vais certainement dire une connerie mais elle est pas stockée dans le registre ebp ?
Et je me disais qu'a partir de son addr on pouvait recup son nom.
Marsh Posté le 24-10-2002 à 12:34:22
oui & non, généralement le compilo fait la chose suivante:
yopla:
push ebp
mov ebp,esp
.....
sub esp,8 ;// "allocation" de 2 long int
mov eax,[ebp+8] ;// premier param (skip sauvegarde ebp+val retour)
....
...
add esp,8
pop ebp
ret
ebp sert à accéder aux paramètres (en sauvegardant esp), comme ça le compilo peut "allouer" des variables sur la pile.
mais bon c'est -pas- nécessaire il faut juste que le compilo maintienne un offset aux paramètres passé dans la pile....
yopla:
sub esp,8 ;//(2 longs)
....
mov eax,[esp+4+8] ;// premier parmètre (skip 8 octets "alloués" + val retour)
....
add esp,8
ret
Marsh Posté le 23-10-2002 à 18:11:45
Comment on peut récupérer le nom de la fonction appelante ?
Merci