Question

Pilotes sous Windows doit être signé et soumis à Microsoft pour la signature de code et cela est une exigence pour les systèmes 64 bits. Le problème est que, lorsque vous devez mettre à jour le pilote, vous devez le soumettre à nouveau, une fois pour chaque nouvelle version.

est possible de construire une sorte de pilote procuration ou shim pour que je dois signer et soumettre une seule fois, et ensuite mon code dans un module distinct?

Je ne peux bouger bien sûr pas seulement le code de travail dans une DLL, ainsi que des modules chargés dynamiquement doivent être signés afin d'être exécuté en mode noyau 64 bits. Que faire si je mets mon code dans un fichier brut, le charger en mémoire (alloué avec le drapeau d'exécution activé) puis l'exécuter? D'autres idées?

Était-ce utile?

La solution

Vous ne devez pas soumettre un pilote à Microsoft. Vous devez signer votre pilote avec un certificat inter-signature. Vous obtiendrez un écran de Nag cette façon, mais ce n'est pas interdit!

Il y avait (sont) plusieurs tentatives de faire exactement ce que vous voulez faire. Ceux-ci sont « à peine » tolérés, mais ces pilotes peuvent être interdits à tout moment. (En révoquant votre signature)

Le processus est très simple:

  1. Charger le pilote signé.
  2. Fournir un IOControl dans lequel les programmes en mode utilisateur peut envoyer la mémoire du noyau.
  3. Modifier le bit d'exécution de cette mémoire, et il suffit d'appeler une adresse dans cette mémoire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top