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
Dll injection [WindowsExplorer Toolbar] [ par AgentAmine ]
salut tous, Je veux créer un programme pour changer les icônes de ImageList de toolbar de WindowsExplorer, en utilisant l'api ImageList_ReplaceIcon;
Fichier utilisé par un processus [ par njulio ]
BONJOUR A TOUS, J'aimerais avoir un bout de code en delphi me donnant le chemin complet d'un fichier utilisé par un processus en cours d'exécution.
Delphi 2009 DLL Dotnet [ par CARAB1 ]
Bonjour, Je n'arrive pas à utiliser une DLL d'un fournisseur (de CAO) sous Delphi 2009. Cette DLL est écrite en VB .Net (PowerSolutionDOTNetOLE.DLL +
impossible de charger l evaluateur comp32p.dll [ par devdel ]
bonjour , comment est ce qu'on peut trouver une solution à ce message merci d'avance
Comment utiliser une DLL depuis un composant ? [ par drexl ]
Bonjour a tous et bonne année, J'ai fait une DLL (paramétrage d'un appareil) que j'utilise depuis mon programme. Pour "simplifier l'utilisation" de l
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
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|