Bonjour,
Voilà, je suis nouveau dans le devellopement de driver et j'ai quelques questions à vous soumettre :-)
a titre informatif, j'essais de créer une application qui tourne en RING0, pas un pilote pour périphérique matériel
- Quel différence précise il y a-t-il entre un service et un driver?
De ce que j'ai compris (attention à la connerie qui va suivre )
Le driver est l'executable (avec extention .sys) qui tourne en kernel mode (ring 0)
Le service est un executable (extention .exe) qui tourne en userland (ring 3) permettant la communication entre le kernel et l'user.
- Quand le driver est-il chargé?
Est ce lors du lancement du service (assez tot dans le winlogon) qui charge le driver en mémoire?
Dans ce cas, ça signifie que le service lors de son chargement est en ring0 (ou du moins fait appel a des fonctions qui sont executée en kernel land) pour pouvoir charger le driver en ram non? (puisque le driver va se charger dans la mémoire haute et que cette même mémoire est "interdite" au ring3
- Comment communiquer avec le driver depuis le service?
J'ai lu qu'il fallait utiliser une API I/O mais j'ai pas tout suivi, si quelqun à un code d'exemple documenté ou un lien ou l'autre sur le sujet en français ce serait sympas :-)
Je précise que j'ai bien évidement la DDK mais que je suis un peu mauvais en anglais et que je ne comprend pas tout (je traduis quand même une petite partie hein )
- Comment décharger un driver X de la mémoire?
Je ne parle pas d'un driver que j'ai créer, mais d'un driver présent en ram que je souhaiterai décharger.
Dois-je désactiver le service associé au driver, désinstaller le service, suprimmer l'exe du service puis suprimmer simplement le fichier sys correspondant au driver? (puis reboot pour que le driver ne soit plus en ram).
- Comment associer un service à un driver (ou inversément)?
- Comment situé un driver (connu) dans la ram?
Voilà, c'est quelques questions que je me pose, je ne demande pas des codes tout fais, mais plutot quelques liens (en français si possible) sur le sujet ou encore des explications des membres motivés :-) (voir des codes d'exemples commenté ^^).
Amicallement, sloshy
Partager