begin process at 2012 05 25 04:00:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

# Export Table --- Kernell32.dll --- GetProcAddress #


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

# Export Table --- Kernell32.dll --- GetProcAddress #

dimanche 11 mai 2003 à 13:03:39 | # Export Table --- Kernell32.dll --- GetProcAddress #

joanna

Voici le code qui devrait récupérer l'adresse de la fonction "GetProcessAddress" connaissant l'ImageBase du module "kernel32.dll".

Malheureusement à la ligne ### le programme plante. Tout ce que je sais pour le moment c'est qu'une exception est levée parce que je tente de lire à une adresse non valide.

Ce code ayant été récupéré d'un tutorial d'un pro en asm et cracking, je ne vois pas ce qui cloche.


_______________________________________________________
;ModuleA=ImageBase du module kernel32.dll
;ExportTableA=Adresse absolue de la table des exportations
;AddFunc=Adresse absolue du tableau contenant les RVAs des fonctions
;AddName=Adresse absolue du tableau contenant les RVAs des noms des fonctions
;AddOdr=Adresse absolue du tableau contenant les numéros d'ordre des fonctions
;limit=nombre de fonctions exportées par le module
;Nindex=Adresse absolue dans le tableau contenant les RVAs des noms des fonctions



------------------------------------------------------------------
;on récupère les infos essentielles depuis la table des exportations



;export table
;esi=ModuleA
mov esi,[esi+78h]
add esi,ModuleA
mov edx,Offset ExportTableA
mov [edx],esi

add esi,10h

;nBase
lodsd
mov edx,Offset base
mov [edx],eax

;NumberOfNames
lodsd
lodsd
mov edx,Offset limit
mov [edx],eax

;AddressOfFonctions
lodsd
add eax,ModuleA
mov edx,Offset AddFunc
mov [edx],eax

;AddressOfNames
lodsd
add eax,ModuleA
mov edx,Offset AddName
mov [edx],eax

;AddressOfNameOrdinals
lodsd
add eax,ModuleA
mov edx,Offset AddOrd
mov [edx],eax


--------------------------------------------------------------
;First_Api db 'GetProcAddress',0



Search_Apis:

mov esi,AddName
mov edx,offset Nindex
mov [edx],esi

mov edi,[esi]
add edi,ModuleA
mov ecx,0
mov ebx,offset First_Api



Try_Again:
mov esi,ebx


Match_Byte:
cmpsb
jne Next_One
cmp byte ptr [edi],0
je Got_It
jmp Match_Byte


Next_One:
inc ecx
cmp ecx,limit
je Fin

mov edx,offset Nindex
add dword ptr [edx],4

mov esi,Nindex
mov edi,[esi]
add edi,ModuleA
jmp Try_Again







--------------------------------------------------------------
;La fonction "GetProcAddress" est bien exportée par le module




Got_It:
shl ecx,1
mov esi,AddOrd
add esi,ecx
xor eax,eax


mov ax,word ptr [esi] #### ici ça plante ####


shl eax,2
mov esi,AddFunc
add esi,eax
mov edi,[esi]
add edi,ModuleA


mov edx,offset First_Api_A
mov [edx],edi

dimanche 11 mai 2003 à 15:38:35 | Re : # Export Table --- Kernell32.dll --- GetProcAddress # => Problème résolu

joanna

Problème résolu !!!

Le fait d'avoir mis des MessageBox en guise de test écrase la valeur du registre ecx contenant l'index de la fonction recherchée (les MessageBox n'apparaissent pas dans la source que j'ai postée)
dimanche 11 mai 2003 à 18:33:45 | Re : # Export Table --- Kernell32.dll --- GetProcAddress # => Problème résolu

CoreBreaker

Bah alors !!!

Core Breaker


-------------------------------
Réponse au message :
-------------------------------

> Problème résolu !!!
>
> Le fait d'avoir mis des MessageBox en guise de test écrase la valeur du registre ecx contenant l'index de la fonction recherchée (les MessageBox n'apparaissent pas dans la source que j'ai postée)
>


Cette discussion est classée dans : add, mov, eax, edx, esi


Répondre à ce message

Sujets en rapport avec ce message

# Export Table - Kernel32.dll - GetProcessAddress # [ par joanna ] Voici le code qui devrait récupérer l'adresse de la fonction "GetProcessAddress" connaissant l'ImageBase du module "kernel32.dll".Malheureusement à la Différences ??? [ par Arecibo ] Voila je debute en assembleur et j'aimerais savoir quelles sont les différences entre :-> mov eax, ebx et mov eax, [ebx]-> mov esi, eax et mov [esi], Parcours tableau de HWND [ par AlexMAN ] Bonjour, Voila mon pb : Je declare un tableau de HWND comme suit :hwndCmd HWND 10 dup (?)Ensuite, je veux créer 10 boutons et stocker leur handle ds c mon programme bloque [ par rhumsek ] slt j'ai améliore mon programme mais il provoque une erreure lorsdu calcul de la somme des entiers saisi (sommeentier)POURTANT il exécute bien les de LecteurEstDvd asm inline [ par AlexMAN ] Bonjour, Voila j'ai un ptit pb au nivo, je pense, de l'appel de la fonction DeviceIoControl, le code : //Fonction Cint __stdcall LecteurEstDvd(char *p HELP ! :'( [ par TheHacker ] Salut j'ai un probleme: voici mon code, il fonctionne correctement, activer le programme vous verres qu'a la fin i laffiche un MessageBox avec marqué nombre premier en nasm [ par YAWLY ] MED.MERZOUG salut tout le monde vous pouvez m'aider si j le compile sa affiche chaque fois le nbr est non premeir > le code est : Section .date ch Comment utiliser une variable ?! lorsque l'on utilise déjà ESI et EDI dans la PROC. [ par rebixav ] Voilà mon problème, je débute en assembleur et je l'utilise essentiellement pour créer des procédure pour visual basic ou C voici une de mes procédure multiplication plus RAPIDE avec SHL, mais BUG ?!!! [ par rebixav ] voilà j'ai remarquer il y a peut de temps l'utilité des fonction de décalage de bits - SHL(left) et - SHR(right) et que l'on peut muliplier eax par Resultat de la vitesse des : Registre, instruction, calcul, et mémoire ! ! ! [ par rebixav ] Voici la liste que j'ai créé : asm : ( inc ) = 0.065 asm : ( and ) = 0.08 asm : ( or ) = 0.08 asm : ( xor ) = 0.08 asm : ( not )


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,856 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales