Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Hook de la fonction LoadLibrary (Surveillance d'injections)

6 réponses
Avatar
tao.guasave
Bonjour =E0 toutes et =E0 tous.

J'aurais besoin d'explication sur le syst=E8me de Hook de l'API Windows
pour me permettre de rep=E9rer tous les appels de la fonction
LoadLibrary.

Mon ambition en claire :
Je veux surveiller un programme (nomm=E9 "programme.exe") et le
surveiller contre toutes injections de .dll (ici les .dll seront
suppos=E9es =EAtre inject=E9es par la fonction LoadLibrary). Mon id=E9e a =
=E9t=E9
alors de hooker cette fonction et regarder =E0 qui elle s'adresse. Si
elle s'adresse =E0 "programme.exe" alors mon programme de surveillance
le notifiera dans un log pr=E9vu =E0 cet effet.

Mon probl=E8me en claire :
Le soucis est que je ne sais absolument pas comment m'y prendre. Alors
je requi=E8re votre aide pour savoir comment hooker LoadLibrary et
comment comprendre =E0 qui elle s'adresse pour pouvoir le notifier.

Pourriez-vous m'aider je vous prie ?

Ps : si vous avez une meilleure id=E9e, ou du moins une id=E9e plus facile
=E0 mettre en place pour surveiller "programme.exe", je suis ouvert =E0
toutes suggestions.

6 réponses

Avatar
Alex
a écrit dans le message de news:

Bonjour à toutes et à tous.

J'aurais besoin d'explication sur le système de Hook de l'API Windows
pour me permettre de repérer tous les appels de la fonction LoadLibrary.



Mon ambition en claire :
Je veux surveiller un programme (nommé "programme.exe") et le
surveiller contre toutes injections de .dll (ici les .dll seront
supposées être injectées par la fonction LoadLibrary).



Il n'y a pas que cette méthode pour faire de l'injection de DLL
exemple : http://www.codebreakers-journal.com/content/view/127/27/

Mais si tu veux faire un hook api, tu peux utiliser Detours de Microsoft
(entre autres)
Avatar
tao.guasave
Je suis au courant qu'il n'y a pas que cette méthode. Mais je voulais
faire les choses petit à petit. Je pensait dans un premier temps,
apprendre à utiliser les hooks de l'API Windows sur la fonction
LoadLibrary pour ensuite exporter cette méthode aux autres fonctions
comme CreateRemoteThread (tiré de l'exemple que tu m'as fourni).

Maintenant, si tu as une meilleure solution (ou plus rapide, ou plus
globale) je ne demande que ça. Je suis tout disposé à t'écouter.
Avatar
Marc
a écrit dans le message de news:

Je suis au courant qu'il n'y a pas que cette méthode. Mais je voulais
faire les choses petit à petit. Je pensait dans un premier temps,
apprendre à utiliser les hooks de l'API Windows sur la fonction
LoadLibrary pour ensuite exporter cette méthode aux autres fonctions
comme CreateRemoteThread (tiré de l'exemple que tu m'as fourni).



Ok, donc avec MS Detours
(http://research.microsoft.com/en-us/projects/detours/)
(Il y a plusieurs apis pour LoadLibrary :
LoadLibraryA, LoadLibraryW, LoadLibraryExA, LoadLibraryExW)
Avatar
nico
wrote:
Je suis au courant qu'il n'y a pas que cette méthode. Mais je voulais
faire les choses petit à petit. Je pensait dans un premier temps,
apprendre à utiliser les hooks de l'API Windows sur la fonction
LoadLibrary pour ensuite exporter cette méthode aux autres fonctions
comme CreateRemoteThread (tiré de l'exemple que tu m'as fourni).

Maintenant, si tu as une meilleure solution (ou plus rapide, ou plus
globale) je ne demande que ça. Je suis tout disposé à t'écouter.



Oui, detours est le plus simple pour les hooks api.
Avatar
tao.guasave
D'accord, alors je vais prendre Detours pour résoudre mon problème.

Du peu que j'ai lu, c'est une .dll qui permet "d'intercepter
arbitrairement les fonctions binaires de Win32". Il faut donc, pour
que je puisse l'utiliser, la télécharger, jusqu'à là pas de probl ème.

Le seul soucis que j'ai c'est que maintenant je recherche un tutoriel
(en français de grande préférence) m'expliquant comment l'utiliser.

En auriez-vous un ?
Avatar
Marc
a écrit dans le message de news:

Le seul soucis que j'ai c'est que maintenant je recherche un tutoriel
(en français de grande préférence) m'expliquant comment l'utiliser.
En auriez-vous un ?



Tout est expliqué dans la doc (detours.chm), en anglais bien sûr
(toujours éviter ce qui est en français, pâles copies des docs anglaises en
général...)