begin process at 2013 05 24 04:33:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

dlls

 > CRÉER UNE DLL

CRÉER UNE DLL


 Information sur la source

Note :
9,6 / 10 - par 5 personnes
9,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :dlls Niveau :Débutant Date de création :19/12/2003 Date de mise à jour :21/12/2003 00:09:25 Vu / téléchargé :8 706 / 566

Auteur : quoi

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cet example montre comment faire une dll en assembleur sans utiliser d'api.
très peut de code.

pour tester editez le fichier bat et modifier les chemins si il le faut.


Source

  • .486
  • .model flat,stdcall
  • .code
  • DLLMain proc p1,p2,p3
  • mov eax,1
  • ret
  • DLLMain endp
  • ;additionne p2 et p3 resultat dans p1
  • Addptr2 proc export p1:ptr,p2,p3
  • push esi
  • mov esi,p1
  • mov eax,p2
  • add eax,p3
  • mov [esi],eax
  • mov eax,0
  • pop esi
  • ret
  • Addptr2 endp
  • ;additionne p1 et p2 la fonction retourne le resultat
  • Add2 proc export p1,p2
  • mov eax,p1
  • add eax,p2
  • ret
  • Add2 endp
  • ;multiplie p1 par p2 la fonction retourne le resultat
  • Mull2 proc export p1:WORD,p2:WORD
  • movsx eax,p1
  • movsx ebx,p2
  • imul ebx
  • ret
  • Mull2 endp
  • ;met les valeurs p2,p3 et p4 dans la stucture p1
  • CrStruc proc export p1:ptr,p2,p3,p4
  • push esi
  • mov esi,p1
  • mov eax,p2
  • mov [esi],eax
  • mov eax,p3
  • mov [esi+4],eax
  • mov eax,p4
  • mov [esi+8],eax
  • pop esi
  • ret
  • CrStruc endp
  • end DLLMain
.486
.model		flat,stdcall
.code

DLLMain	proc	p1,p2,p3
		mov	eax,1

		ret
DLLMain	endp

;additionne p2 et p3 resultat dans p1

Addptr2	proc	export p1:ptr,p2,p3
		push	  esi
		mov	  esi,p1
		mov	  eax,p2
		add	  eax,p3
                                mov	  [esi],eax
		mov	  eax,0
		pop	  esi

		ret
Addptr2	endp

;additionne p1 et p2 la fonction retourne le resultat

Add2		proc	export p1,p2
		
		mov	  eax,p1
		add	  eax,p2
		
            ret
Add2		endp

;multiplie p1 par p2 la fonction retourne le resultat

Mull2       proc export p1:WORD,p2:WORD

               movsx      eax,p1
               movsx      ebx,p2
               imul         ebx     
            
              ret
Mull2       endp

;met les valeurs p2,p3 et p4 dans la stucture p1

CrStruc   proc export p1:ptr,p2,p3,p4

            push    esi
            mov     esi,p1
            mov     eax,p2
            mov     [esi],eax
            mov     eax,p3
            mov     [esi+4],eax
            mov     eax,p4
            mov     [esi+8],eax
            pop      esi
            
            ret
CrStruc   endp       

end		DLLMain



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip TEXTURE AVEC DIRECTX9
Source avec Zip FLOATTOHEX CODE DE BRUNEWS RETRENSCRIS EN ASM PAR MOI
Source avec Zip Source avec une capture PATCH TOUT EXE 32BITS POUR Y INSERER UNE IMAGE (GIF ,JPG,BMP...
Source avec Zip SPLASH SCREEN
Source avec Zip EXTRACTICONES

 Sources de la même categorie

Source avec Zip Source avec une capture DLL ALGORYTHME DE RECHERCHE DE CHEMIN EN A STAR, A*, FASM par Devnix
Source avec Zip DLL EFFECTUANT UNE TRANSFORMÉE DE FOURIER RAPIDE par Nasman
Source avec Zip DLL MASM32 ET DARKBASIC PRO par Apinew
Source avec Zip DLL AVEC NASM ET ALINK par ibroman
Source avec Zip OBTENIR LE CPUID DE SON PROCESSEUR (DLL) par sibi12

Commentaires et avis

Commentaire de Stormy le 19/12/2003 21:37:13

Compilateur?

Commentaire de Bombela le 19/12/2003 22:15:17

C'est MASM ça...

Commentaire de gt99 le 09/01/2004 00:56:36

Parfait, cet exemple.
C'est **exactement** l'info que je cherchais.
Merci à toi Quoi :)

a++;

Commentaire de flecheverte le 26/01/2004 18:14:29

C'est exellent !!!!
C'est bien la premiere fois qu'un exemple répond parfaitement a mon probleme ! Utilisation de fonction et de procedures et, cerise sur le gateau, exportation dans une structure ! Et pour couronner le tout, un petit exemple pour visual basic !
J'ai mis 10/10 les yeux fermé !

Un grand MERCI !

Commentaire de ahcene le 19/02/2004 21:33:30

un grand merci pour tout

Commentaire de rebixav le 25/11/2012 18:23:31 9/10

Bonjours, cela fait maintenant presque un an que je suis tombé dessus, et je m'amuse comme un petit fou en me prenant pour dieu tout puissant grace à cette manière simple de créer des DLL, hors, j'ai remarqué il y a peu que l'on pouvait éviter d'écrire cela :

DLLMain proc p1,p2,p3
mov eax,1
ret
DLLMain endp

et mettre cela à la place :

DLLMain proc
ret
DLLMain endp

puisque cela ne sert à rien ?!

par contre malgré plusieurs test, je ne sentie aucune différence d vitesse !

encore un grand merci 9/10 !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

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

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