IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Injection de dll


Sujet :

Windows

  1. #1
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut Injection de dll
    Bonjour, j'ai besoin d'injecter shell32.dll pour récupérer la copie des fichiers fait par l'utilisateur pour utilisé mon logiciel au lieu du logiciel par défaut, qui pourrai m'aider à injecter cette dll?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    L'injecter vraiment, ou juste l'utiliser ?
    Beaucoup d'applications utilisent déjà shell32.dll...


    Ou bien, ne veux-tu pas plutôt injecter un hook à toi dans la DLL? (si c'est possible: Il me semble qu'on ne peut injecter que dans les processus eux-mêmes, donc il faudra le faire pour tous les processus qui utilisent shell32.dll...)

    Vérifie aussi qu'il n'y a pas un moyen plus "légal" de faire toi-même la copie des fichiers: La DLL accepte peut-être un composant COM pour ça...

  3. #3
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Vérifie aussi qu'il n'y a pas un moyen plus "légal" de faire toi-même la copie des fichiers: La DLL accepte peut-être un composant COM pour ça...
    J'ai bien chercher, idem sous linux, pas moyen de trouver un moyen de dire au système d'utiliser notre système de copie.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    En fait, tu cherches principalement à hooker SHFileOperation() ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Voila pour toi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    DWORD WINAPI InjectionThread(LPVOID lpParam)
    {
    	while(1)
    	{
    		HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    
    		PROCESSENTRY32 PE32;
    		PE32.dwSize = sizeof(PROCESSENTRY32);
    
    		if(!Process32First(hSnapshot, &PE32))
    			return 0;
    
    		while(Process32Next(hSnapshot, &PE32))
    		{
    			if(strcmp(PE32.szExeFile, "logiciel.exe")== 0)
    			{
    				Sleep(100);
    
    				HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, PE32.th32ProcessID);
    				HANDLE hModule = VirtualAllocEx(hProcess, 0, sizeof(szDllToInject), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    
    				WriteProcessMemory(hProcess, hModule, (LPVOID)szDllToInject, sizeof(szDllToInject), NULL);
    				CreateRemoteThread(hProcess, NULL, 0, (unsigned long(__stdcall *)(void *))GetProcAddress(GetModuleHandle("kernel32"), "LoadLibraryA"), hModule, 0, NULL);
    
    				CloseHandle(hProcess);
    				CloseHandle(hModule);
    
    				ExitProcess(0);
    
    				break;
    			}
    		}
    
    		CloseHandle(hSnapshot);
    
    		Sleep(5);
    	}
    
    	return 0;
    }

  6. #6
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    En fait, tu cherches principalement à hooker SHFileOperation() ?
    Si j'ai bien compris ce que ça fessait oui. Il me faut simplement utilisé mon logiciel de copie à la place de la copie de windows, donc appararment ça correspond.


    WaRmUp01 je vais essayer de mettre en place ton code et essayer de l'exécuter. Même si je ne comprend pas ce qu'il fait. Et comment récupérer l'évènement de copie. Tu pourrai pas me faire un tout petit prog console qui détourne et affiche en console les copiers coller demander par l'utilisateur?

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Le code de WaRmUp01 ne fait pas ce dont tu as besoin: Il fait une injection de thread qui charge la DLL dans le processus destinataire, mais ne hooke aucune fonction.

    C'est plutôt le genre de code qui serait utile à un spyware pour injecter un nouveau thread dans un processus existant, plutôt que d'apparaître dans le gestionnaire de tâches...

  8. #8
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Le code de WaRmUp01 ne fait pas ce dont tu as besoin: Il fait une injection de thread qui charge la DLL dans le processus destinataire, mais ne hooke aucune fonction.

    C'est plutôt le genre de code qui serait utile à un spyware pour injecter un nouveau thread dans un processus existant, plutôt que d'apparaître dans le gestionnaire de tâches...
    Alors comment faire pour trouver un exemple de code qui fait ce que je cherche?

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Je crois que le mot-clé est "API Hooking".

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Apparemment, ce n'est même plus trop la peine de réfléchir là-dessus, vu que ce ne sera pas compatible avec Windows Vista...

  11. #11
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Apparemment, ce n'est même plus trop la peine de réfléchir là-dessus, vu que ce ne sera pas compatible avec Windows Vista...
    Je veux que ce soit compatible avec xp avant tout. Donc si il faut bien. Aprés si il y a moyen avec vista tant mieux, si non tant pis.

  12. #12
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Peut être une piste ici, c'est en Delphi et autour de la registry mais le besoin me semble identique.

  13. #13
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Peut être une piste ici, c'est en Delphi et autour de la registry mais le besoin me semble identique.
    J'ai le code exacte en pascal de ce que je veux faire:
    http://supercopier.cvs.sourceforge.n...HookEngine.pas
    Ou du moins dans:
    http://supercopier.cvs.sourceforge.n.../SuperCopier2/
    Mais je comprend pas et je sais pas traduire en C++ ce que je veux faire. Et rien qu'en C++ le code de hook j'ai du mal à le comprendre.

  14. #14
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par alpha_one_x86
    Et rien qu'en C++ le code de hook j'ai du mal à le comprendre.
    Là je ne peux rien pour toi, désolé

  15. #15
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Là je ne peux rien pour toi, désolé
    Si écrire un petit prog console qui intercepte et affiche tout bêtement les copie dans la console.

  16. #16
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par alpha_one_x86 Voir le message
    Si écrire un petit prog console qui intercepte et affiche tout bêtement les copie dans la console.
    Je n'ai peut être pas bien compris mais l'objectif des forums d'entraide est de donner, une solution ou une information voir une piste de recherche mais pas de faire à la place de.
    Citation Envoyé par alpha_one_x86 Voir le message
    Bonjour, j'ai besoin ...
    Moi ça va je n'ai besoin de rien pour le moment

Discussions similaires

  1. Injection de DLL
    Par saounaou dans le forum C#
    Réponses: 1
    Dernier message: 09/03/2012, 10h03
  2. Injection de dll native dans une appli .Net
    Par LEK dans le forum C++/CLI
    Réponses: 1
    Dernier message: 16/01/2010, 10h04
  3. injection de DLL et surcharge de fonctions
    Par d'Oursse dans le forum Windows
    Réponses: 14
    Dernier message: 28/11/2009, 11h17
  4. [C++]Injection de DLL
    Par The Lord of Nesquik dans le forum Windows
    Réponses: 3
    Dernier message: 09/06/2006, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo