Accueil > Forum > > > > # Export Table - Kernel32.dll - GetProcessAddress #
# Export Table - Kernel32.dll - GetProcessAddress #
dimanche 11 mai 2003 à 12:58:13 |
# Export Table - Kernel32.dll - GetProcessAddress #

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. _______________________________________________________ ;Mes variables : ;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 à 18:29:33 |
Re : # Export Table - Kernel32.dll - GetProcessAddress #

CoreBreaker
|
Effectivement le segment DS n'a pas accès cet espace mémoire car c'est de la mémoire de niveau DPL 0 or le champs RPL dans DS pour une application est de 3 tu n'a donc pas les droits d'accès. Il faut que tu alloues un segment qui a un DPL de 3 mais là je ne sais pas comment faire sous Windows. Pour moi c'est impossible car sinon ce serait facile de détruire de noyau de Windows (par un virus par exemple). Core Breaker  ------------------------------- Réponse au message : ------------------------------- > 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. > > > _______________________________________________________ > ;Mes variables : > > ;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 > >
|
|
Cette discussion est classée dans : add, mov, eax, edx, esi
Répondre à ce message
Sujets en rapport avec ce message
# Export Table --- Kernell32.dll --- GetProcAddress # [ 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 )
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|