begin process at 2012 05 25 06:55:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

declaration externe + news Kmdkit


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

declaration externe + news Kmdkit

vendredi 2 décembre 2005 à 12:08:46 | declaration externe + news Kmdkit

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

du nouveau pour les fondus de ring 0 sous NT:
http://www.website.masmforum.com/tutorials/kmdtute/
( kmd = kernel mode drivers )


avec masm32,

souhaitant obtenir l'adresse d'une fonction importée, j'ai fait.
mov eax,[NomFonctionImportee] ; j'obtient l'adresse du jmp pd[IAT_Entry]
mov eax,[eax+2] ; j'obtient l'adresse de IAT_Entry
mov eax,[eax] ; j'ai enfin l'adresse de la fonction.

est-il possible par une declaration d'avoir directement l'adresse IAT_Entry en tant que label ? ( mov eax,[NomFonctionImportee] = mov eax,[IAT_Entry] )

j'ai dejà essayé /MERGE:.rdata .text

@++
mercredi 4 janvier 2006 à 20:23:24 | Re : declaration externe + news Kmdkit

BLUEBIBUBBLE

Je ne suis pas sur d'avoir bien compris ta question:
Pourquoi pas utilisé une MACRO du genre:

FuncImport   MACRO    NomFonction
                     mov            eax, OFFSET NomFonction
                     mov            eax,[eax+2]
                     mov            eax,[eax]
                     ENDM

Puis dans le code:

                     .CODE
                     FuncImport  NomFonctionImportee
                     call eax         ;Intégrer le call dans la Macro ?


surement /MERGE:.rdata = .text ?
A+


mercredi 4 janvier 2006 à 23:56:28 | Re : declaration externe + news Kmdkit

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

c'est bien /MERGE:.rdata = .text

ce n'est pas une macro que je cherche. c'est une ligne de code en moins:
l'exe mappé dont on parlait justement:

HEADERS
...
IAT
dd &MyImportFunc
dd &?
...
CODE
start:
mov eax,MyImportFunc ; donnera eax = &Here_a_jump
mov eax,[eax+2] ; donnera eax = &IAT[0]
mov eax,[eax] ; donnera eax = &MyImportFunc
Here_a_jump:
jmp pd [&IAT[0]] ; jump correspondant a MyImportFunc

je veux que le symbol MyImportFunc donne directement &IAT[0] pour supprimer Here_a_jump.

et le code:
mov eax,MyImportFunc ; donnera eax = &IAT[0]
mov eax,[eax] ; donnera eax = &MyImportFunc

je sais que c'est possible pour l'avoir vu dans un programme mais je ne sais pas comment le déclarer au niveau du source.

@++


Cette discussion est classée dans : mov, adresse, entry, eax, iat


Répondre à ce message

Sujets en rapport avec ce message

Problème d'adresse effective [ par Ihlianov ] Hi,J'ai un problème avec NASM, qui me rend cinglé.Je code un .Com (16 bits) et il me revoit une erreur sur l'instruction suivante : mov ax, [d passage en pmode [ par TRAX44 ] salut,g 1 petit pb, kan je ceu pa c en mode protégé mov eax, cr0 or al, 1 mov cr0, eax(g deja cree et charger la gdt)le pc # 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 # 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 Adresse mémoire d'une chaine [ par moffer ] Bonjour,Je veux pointer sur le premier caractère de ma chaine. Lorsque je compile le code suivant :SEGMENT DATAchaine db 'Hello$'SEGMENT TEX Ancien code - CreateWindowEx ne fonctionne pas [ par TehWan ] Je ne comprends vraiment pas pourquoi CreateWindowEx ne fonctionne pas. Je code en ancien code avec MASM32. J'ai même essayé la nouvelle syntaxe (invo Ecriture de chaîne [ par Laurent1313 ] Salut,Je cherche à modifier une chaîne en assembleur. Je prends donc un caractère, je fais un traitement dessus puis je recopie le caractère dans la c 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], BeginPaint code débutant [ par TRAX44 ] Bonjour, le problème est tout simple je comprends absolument pas ce qui marche pas. Le "programme" est censé créer une fenêtre est afficher du texte e Pb registre DL [ par AlexMAN ] Bonjour, J'ai un ptit pb avec le code qui suit, au nivo du mov dl, [ecx] ://Renvoie pointeur sur fin de chaine (permet d'eviter l'utilisation de strca


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,404 sec (3)

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