Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1219 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  Fonctionnement bas niveau clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonctionnement bas niveau clavier

n°1534545
OdbO
ROC c'est pour les NooBs !!!
Posté le 27-03-2007 à 18:55:04  profilanswer
 

Je cherche des info sur le principe de fonctionnement des claviers ainsi que sur leur programmation bas niveau.
Je préfère demander à des gars qui font de l'asm car ils sont les seuls véritables qui existent en ce bas monde.
 
Voici le problème que j'ai
J'ai fait un programme en c avec des hook pour substituer des touches par d'autres avec une IHM en .net  http://darkfl0.free.fr/GowuToy/GowuToy.net.v0.4.zip
 
Mais ce programme ne fonctionne pas avec certains jeux directx.
- Je vais chercher les API directx incriminées en faisant un mini programme pour mettre en defaut GowuToy.
- Une fois ce programme, je vais chercher des méthodes de contournement.
 
Dans le pire des cas, il semblerait que je sois obligé de coder un driver en mode noyau.
 
J'ai deja trouvé un lien sur le developpement de driver windows en ASM  : http://www.freewebs.com/four-f/
Il faut que je me penche serieusement sur le fct du clavier.
 
Donc si vous avez des liens je suis preneur.  
 

mood
Publicité
Posté le 27-03-2007 à 18:55:04  profilanswer
 

n°1534552
tbp
Posté le 27-03-2007 à 19:11:23  profilanswer
 

Ya comme une méprise, le principe même d'un OS c'est d'abstraire et de contrôler les accès. Donc exit le bas niveau. Ensuite un driver dans un OS monolithique est forcément exécuté dans l'espace du noyau (sinon soit ce n'est pas un driver, soit ce n'est pas un OS monolithique). Enfin il n'y aucune raison de s'emmerder à écrire un driver en asm, le C c'est pas fait pour les chiens.
 
Je ne me souviens plus des détails, mais il est possible d'insérer une sorte de filtre au milieu de la chaine des bidules en charge de gérer les entrées (souris, clavier etc...) sur w2k et xp. Et je suppose que c'est autrement plus chiant sur Vista. Insertion, détournement des flux et hop.
 
Sinon, autre possibilité (plus simple), en restant dans l'espace utilisateur et vu que la cible connue (machin lié à directx), il suffit de parasiter ces dlls (par exemple par injection dans le process qui les utilise etc...).
Google ftw. Et bon courage.
 

n°1534553
tbp
Posté le 27-03-2007 à 19:20:42  profilanswer
 

Les filtres en question
http://www.microsoft.com/whdc/device/input/drv.mspx (si je me souviens bien il y a un exemple qui va bien dans le ddk)
 
Pour l'injection voir par exemple
http://research.microsoft.com/sn/detours/
Il y eut un temps ou les sources étaient fournis...

n°1534603
OdbO
ROC c'est pour les NooBs !!!
Posté le 27-03-2007 à 22:06:22  profilanswer
 

thx je vais jetter un oeil

n°1538552
OdbO
ROC c'est pour les NooBs !!!
Posté le 04-04-2007 à 18:06:57  profilanswer
 

Bonjour, j'ai un peu avancer depuis la dernière fois.
 
Pour trouver les api de direct input qui mettent en defaut mon programme GowuToy, j'ai developpé : http://darkfl0.free.fr/GowuToy/testkb.V0.1.0.0.zip qui permet entre autre de tester le nombre d'appuis simultanés que supporte un clavier. Apparamment il s'agit de GetCurrentKeyboardState qui ne vois pas les touches générées par  la fonction keybd_event.
 
Je n'ai pas regardé la technique d'injection. Je vais plutot me concentrer sur le filtre mais en C, et comme c'est un driver je vais gouter aux joies du ring 0.
 
Microsoft à renommer le DDK en WDK mais il est téléchargeable gratuitement. Il contient deux exemples de filtres dont l'un utilise un framework microsoft pour developper les drivers. Je vais largement m'en inspirer.
 
Pour le debugage d'un driver j'ai pas trop d'idée. Je vais aussi mettre vmware pour ne pas planter mon windows on ne sait jamais !!!
 
Mais le developpement de driver ca à l'air assez chaud, je suis preneur pour toutes doc et ref sur le developpement de drivers sous windows.
 
 
 


Message édité par OdbO le 04-04-2007 à 18:18:48
n°1538656
tbp
Posté le 04-04-2007 à 20:41:57  profilanswer
 

Cela fait long que je n'ai pas écrit de driver et je serais bien en peine d'indiquer les bouquins de référence du moment. Je doute qu'il y ait bcp d'infos (utile) sur le net, vu l'expertise requise pour écrire ce genre de truc... et puis c'st un OS proprietaire...  
Mais bon si c'est juste pour ajuster un filtre, avec le DDK sous le coude... à coeur vaillant rien d'impossible.
 
Je ferais tout de même remarquer qu'un driver est une chienlit ne serait-ce qu'à maintenir. C'est a peu près aussi drole que de se casser un bras, alors que les techniques d'injections...
 
Sinon http://en.wikipedia.org/wiki/SoftICE / remote debugger.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  Fonctionnement bas niveau clavier

 

Sujets relatifs
Simuler une touche clavier sous LinuxVérification fonctionnement de script
saisie clavier mais prob de \\Emuler une frappe clavier à partir d'un fichier txt
Limite du niveau d'arborescence des répertoires archivés récursivement[C#] Assembly et niveau de confiance
Problème de fonctionnement de script PHP apres migrationSimuler le fonctionnement du clavier et de la souris
niveau de titre 
Plus de sujets relatifs à : Fonctionnement bas niveau clavier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR