KLOG

janvier 20th, 2007 at 10:30 admin

Parfois il m’arrive de vouloir codé un jouet à partir d’un autre, loin de moi l’idée de recopier du code, mais plutot d’améliorer le concept. Mon histoire a commencé en découvrant Klog, un kernel keylogger codé par Clandestiny. Je part dans l’optique d’améliorer le programme, de faire un code plus propre, en pensant que même avec mes connaissances faible de programmation KernelLand je serais capable de faire mieux…


Ainsi la théorie voudrait que le programme fonctionne de cette manière :
1) On attache un filter device au dessus du device KeyboardClass0 qui est le device primaire du driver I8042prt qui gère le clavier et la souris.

2) On filtre les réquetes (IRP) en s’intéressant uniquement à celle qui correspondent aux touches, les autres ont les refilent au device primaire .

3) Jusqu’a là tout va bien, il ne reste plus qu’a récupérer les scancodes de les encoder en ASCII et hop d’écrire tout ca dans un joli fichier. Mais la BOOM BIG BADABOOM BIG !!, la routine chargé de cette tâche tourne à un IRQL valant DISPATCH_LEVEL (3) et l’API native ZwWriteFile ne peut tourner qu’au niveau PASSIVE_LEVEL (0), le programme plante, BSOD in my face OUINN!

L’idée de Clandestiny pour contourner ce problème a été de créer un thread kernel tournant en IRQL PASSIVE_LEVEL qui attend gentiment les touches à enregistrer. C’est à ce moment là que je me dis « mouais, ca suxx ffs, on peut virer ca et trouver un autre trick ». Je commence donc ma recherche, lisant le DDK dans tout les sens, des ebooks sur la programmation avec le windows driver model, cherchant des codes sur le net avec google code search, 3 jours passent ainsi, la traverser du desert, sentiment de frustation du kodeur qui ne trouve pas de solution ….

RIEN ! au final je doit bien l’avouer, ce programme est ultime, Clandestiny a tout simplement implémenté la meilleure solution, je ne peux que m’incliner..

Cependant j’en ai profité pour faire fonctionner le keylog avec les claviers fr et j’ai ajouté le petit code pour hider un driver dans la PsLoadedModuleList, juste pour pouvoir dire que j’ai fait qqch :(

Voici donc la version originale du code :
http://ivanlef0u.fr/repo/Klog%201.0.zip

et la mienne avec le support fr et le hiding de driver :
http://ivanlef0u.fr/repo/Klog-fr-enhanced.rar

Voilà j’espère que ca vous plaira.

Merci à b0nd pour avoir briser mon rêve ;)

Entry Filed under: Non classé

2 Comments

  • 1. b0nd  |  janvier 21st, 2007 at 15:38

    Je te l’ai dit je l’ai pas devierger la soeur a abc je l’ai juste enculer! Ton reve est toujours possible ne lache pas.

    keep posting


  • 2. YoLeJedi  |  avril 25th, 2007 at 20:49

    Je vois que l’on fait aussi dans la poésie sur ton blog Ivan ;)
    C’est bien… c’est large… :D


Trackback this post


Calendar

octobre 2021
L Ma Me J V S D
« fév    
 123
45678910
11121314151617
18192021222324
25262728293031

Most Recent Posts