Accueil > > > INJECTER DLL DANS UN PROCESSUS EN COURS
INJECTER DLL DANS UN PROCESSUS EN COURS
Information sur la source
Description
Bon au départ je ne voulais pas poster ce code, mais Forman m'a doubler avec çà source : http://www.delphifr.com/codes/REMPLACER-FONCTION-D LL-IMPORTE-QUELLE-AUTRE_38484.aspx Du coup je vais vous présenter l'injection de DLL dans un processus, non pas pour remplacer une fonction comme la fait Forman, mais qu'elle tourne indépendemment en tache de fond sur un autre processus. Il faudra biensur crée avant une DLL dynamique qui est une fonction particulière (sorte d'application embarqué). Cette technique est utilisée par certain malware afin d'ouvrir des canaux (porte d'entrées) sur votre PC, pour y laisser entrer des intrus. Mon programme est assez généraliste car il permet de selectionner la DLL à injecter et le processus cible. Mais l'avantage de se type d'injection, et que si elle est faite sur votre navigateur internet, les firewall laissant votre navigateur envoyer et recevoir sans confirmation et la socket faisant partie de l'application, le FireWall laissera votre socket embarqué lire et ecrire sur une socket client exterieure en passant outre les protections.
Source
- // La fonction d'injection
-
- function InjectDLL( DLLSource : string; ProcessDestination : string ) : Boolean;
- var
- LibName : Pointer;
- hProcess : THandle;
- ThreadHandle: THandle;
- OctEcrit : Cardinal;
- TheadID : DWORD;
- begin
- Result := False;
-
- AjustePrivileges; // voir dans le Zip pour cette fonction
-
- hProcess := OpenProcess( PROCESS_ALL_ACCESS, FALSE, FindProcess( ProcessDestination ) );
- if (hProcess = 0) then Exit;
-
- LibName := VirtualAllocEx( hProcess, nil, Length(DLLSource) + 1, MEM_COMMIT, PAGE_READWRITE );
- if ( LibName <> nil ) then
- begin
- WriteProcessMemory( hProcess, LibName, PChar(DLLSource), Length(DLLSource) + 1, OctEcrit );
- if ( (Length(DLLSource) + 1) <> OctEcrit ) then Exit;
- le process
- ThreadHandle := CreateRemoteThread( hProcess, nil, 0, GetProcAddress( LoadLibrary('kernel32.dll'), 'LoadLibraryA' ), LibName, 0, TheadID );
- Result := ( ThreadHandle <> 0 );
- WaitForSingleObject( ThreadHandle, INFINITE );
- end else Result := False;
- VirtualFreeEx( hProcess, LibName, 0, MEM_RELEASE );
- CloseHandle( hProcess );
- end;
// La fonction d'injection
function InjectDLL( DLLSource : string; ProcessDestination : string ) : Boolean;
var
LibName : Pointer;
hProcess : THandle;
ThreadHandle: THandle;
OctEcrit : Cardinal;
TheadID : DWORD;
begin
Result := False;
AjustePrivileges; // voir dans le Zip pour cette fonction
hProcess := OpenProcess( PROCESS_ALL_ACCESS, FALSE, FindProcess( ProcessDestination ) );
if (hProcess = 0) then Exit;
LibName := VirtualAllocEx( hProcess, nil, Length(DLLSource) + 1, MEM_COMMIT, PAGE_READWRITE );
if ( LibName <> nil ) then
begin
WriteProcessMemory( hProcess, LibName, PChar(DLLSource), Length(DLLSource) + 1, OctEcrit );
if ( (Length(DLLSource) + 1) <> OctEcrit ) then Exit;
le process
ThreadHandle := CreateRemoteThread( hProcess, nil, 0, GetProcAddress( LoadLibrary('kernel32.dll'), 'LoadLibraryA' ), LibName, 0, TheadID );
Result := ( ThreadHandle <> 0 );
WaitForSingleObject( ThreadHandle, INFINITE );
end else Result := False;
VirtualFreeEx( hProcess, LibName, 0, MEM_RELEASE );
CloseHandle( hProcess );
end;
Conclusion
Les sources fournies avec le Zip ne contiennent aucun "Malware", et ma DLL contient juste un serveur socket qui renvoi ce que lui envoi le client connecté : donc rien de méchant. Cette source à un but pédagogique, je ne cherche en rien à faire de futur HAcKer, je vous serez grée de ne pas me la supprimer, un avertissement serai suffisant !
J'ai posté cette source un peu rapidement, donc s'il y a des corrections je suis preneur.
Notes et commentaires sont les bienvenues !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Dll injection dans iexplore [ par achraf1986 ]
Salut a tous !!! j'ai chercher dans tous le net mais j'ai pas trouver un source qui montre comment ajouter un boutton dans Internet explorer alors aid
comment declarer une fonction privé dans une dll delphi [ par jayceblaster ]
Bonjour,je suis en train de créer un dll via l'expert de DLL delphi et je souhaite déclarer une fonction privé comme je peux le faire dans un projet V
Handle & Processus [ par flo160fr ]
Bonjour !Je voudrais savoir :Comment savoir si un processus est en cours d'execution (avec le nom de l'executable si possible)Comment obtenir le handl
bdd mysql [ par amine_koubba ]
bonjour,j ai un ptit pb(si ce n est un gros) en effetj ai développé une application delphi utilisant une base de données mysql,j aimerais savoir si il
Convertir fonction DLL en Delphi [ par nitrique ]
Bonjour à tous,J'ai une DLL qui possède cette fonction selon la doc:NoMangle long DLL_IMPORT_EXPORT csp2GetCodeType(unsigned char CodeId<font face="Ar
Bug avec une fiche dans une dll et thème XP [ par rt15 ]
Bonjour,Je ne parviens pas à utiliser une fiche dans une dll possédant un GroupBox utilisée dans une appli utilisant le thème XP. (Rien n'est option
Envoyer un message d'une dll à un service windows [ par octavianus_1 ]
Bonjour à tousJe dois adapter un projet (transformer un application en service, le tout en Delphi7) où une dll transmet un message à destination de l'
Port Parallele [ par coquenpate ]
J'ai fait pas mal de recherches pour savoir comment lire et écrire sur mon port parallèle LPT1.J'ai trouvé des méthodes pour Windows XP, et notamment
Supprimer la DLL Delphi qui tourne [ par EricDD ]
Bonjour,Je ne vois pas de question sur ce thème, pourtant cela doit arriver à tout le monde :Quand vous arrivez avec une nouvelle version de votre DLL
Décharger une DLL de la mémoire [ par EricDD ]
Bonjour,Je travaille avec une appli ecommerce en asp, qui fait appel à une DLL Delphi, enregistrée comme composant COM+ : Je n'ai pas d'exe.Je suis a
|
Derniers Blogs
TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice CRéATION D'UNE BASE DE DONNéE SOUS SQL AZURECRéATION D'UNE BASE DE DONNéE SOUS SQL AZURE par junarnoalg
Sans rentrer dans les détails, je me propose ici de faire un rapide tour de ce que propose SQL Azure.
SQL Azure est avant tout un service d'hébergement de base de données relationnelles construit sur SQL Server. Il permet aux entreprises d...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|