GNT sans publicité, site mobile, fonctionnalitées exclusives...

Detourner les appels systemes

Le
Vincent Hiribarren
Bonjour,

je souhaite détourner les appels systèmes de quelques applications.

De ce que je comprends (et par analogie avec les systèmes unix que je
connais mieux), je vois deux possibilités :

- lors de l'exécution d'un programme, il faudrait que je précharge
certaines bibliothèques avant les bibliothèques systèmes pour qu'un
appel système passe par ma bibliothèque avant de faire suivre l'appel
vers l'appel système classique.

- lors du lancement du système d'exploitation, je déclare que ma
bibliothèque est prioritaire devant celle du système pour faire le
linkage dynamique.

Comment dois-je m'y prendre ?

Avez-vous des exemples concrets (et simples) de détournement d'appels
systèmes, peut-être un didacticiel sur le web avec des bouts de codes
d'exemple et la méthode à suivre ?

En vous remerciant d'avance.
Lire les 8 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry
Le #9797181
Bonjour,

Vincent Hiribarren a écrit :

Avez-vous des exemples concrets (et simples) de détournement d'appels
systèmes, peut-être un didacticiel sur le web avec des bouts de codes
d'exemple et la méthode à suivre ?



http://research.microsoft.com/sn/detours/

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Vincent Hiribarren
Le #9797171
Thierry wrote:

Avez-vous des exemples concrets (et simples) de détournement d'appels
systèmes, peut-être un didacticiel sur le web avec des bouts de codes
d'exemple et la méthode à suivre ?



http://research.microsoft.com/sn/detours/



Merci.

Cependant, il n'y a pas quelque chose de plus simple ? Genre forcer à
utiliser une bibliothèque plutôt qu'une autre ?

Typiquement, sur systèmes Linux, je crois qu'il suffit de mettre des
bibliothèques "prioritaires" dans un fichier ou une variable
d'environnement. Comme ça si une fonction particulière est appelée, le
linker prendra d'abord celle de la bibliothèque prioritaire.
David MAREC
Le #9797161
D'après Vincent Hiribarren:

http://research.microsoft.com/sn/detours/



Merci.

Cependant, il n'y a pas quelque chose de plus simple ? Genre forcer à
utiliser une bibliothèque plutôt qu'une autre ?



J'ai du mal à saisir ce que vous recherchez, un genre de «libmap.conf» ?
Thierry
Le #9797151
Vincent Hiribarren news::

Cependant, il n'y a pas quelque chose de plus simple ? Genre forcer à
utiliser une bibliothèque plutôt qu'une autre ?



Faire une DLL "stub".
Par exemple pour tracer iprenewaddress : renommer la DLL standard
IPHLPAPI.DLL, faire une DLL qui va exporter tous les points d'entrees de
IPHLPAPI. Pour toutes les fonctions hors iprenewaaddress utiliser un
#pragma special pour aller chercher la fonction dans la DLL renommée
(je ne me rappelle plus la syntaxe exacte), implementer iprenewaddress :
logger ce que l'on veut, appeler la fonction de la DLL originale.

Cette methode peut marcher pour les "petites" DLL, sinon ca devient vite
laborieux pour les grosses DLL systemes avec quelqes centaines de fonctions
exportées. A moins d'automatiser la generation du code des pragma.

Mais ça depend ce que tu veux faire, soit espionner tous les programmes
soit un programme en particulier.
Thierry
Le #9797111
Bonjour,

Thierry a écrit :

Pour toutes les fonctions hors iprenewaaddress utiliser un
#pragma special pour aller chercher la fonction dans la DLL renommée
(je ne me rappelle plus la syntaxe exacte),



#pragma comment(linker, "/export:IpRenewAddress=IPHLPAPI.IpRenewAddress")

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Publicité
Suivre les réponses
Poster une réponse
Anonyme