Voici une deuxieme demo sur le crochetage d'API
cette fois ci la technique employée est dite du
"Trampoline" ou du "crochetage à la source"
Les differences entre cette technique et la modification
de la table d'import d'un exe sont les suivantes :
- Si la procedure est appelé avec GetProcAddress
le module peut ne pas figurer dans la table d'import
- plus important le point d'entrée ne sera pas situé
dans une table de vecteur mais directement sur le
code de la fonction
- Aucune analyse de l'executable n'est necessaire
- Permet de crocheter meme si la fonction est appelé
par une dependance de l'executable dll ou ocx
- necessite de connaitre le debut du code machine
de la fonction a crocheter
- il est impossible de rappeler la fonction originel par
son adresse
Dans l'exemple j'ai implementé une sorte de sniffer interne
qui observe les données lues et ecrites par winsock à
partir d'un controle webbrowser