Pregunta

Los conductores de Windows debe ser firmado y presentado a Microsoft para la firma de código y esto es un requisito para sistemas de 64 bits. El problema es que, cuando se tiene que actualizar el controlador, hay que enviarlo de nuevo, una vez para cada versión.

¿Es posible construir una especie de controlador proxy o cuña de manera que tengo que firmar y presentar sólo una vez, y luego tener mi código en un módulo separado?

Por supuesto, no puedo mover el código de trabajo en un archivo DLL, como también módulos de carga dinámica tienen que ser firmados con el fin de que se está ejecutando en modo kernel de 64 bits. ¿Y si pongo mi código en un archivo RAW, cargarlo en la memoria (asignado con el indicador de ejecución activado) y luego ejecutarlo? Otras ideas?

¿Fue útil?

Solución

Usted no tiene que presentar un conductor de Microsoft. Usted tiene que firmar su conductor con una firma de certificado cruzado. Obtendrá una pantalla de aviso de esta manera, pero esto no está prohibido!

Había (son) de varios intentos para hacer precisamente lo que se quiere hacer. Estos son 'casi' tolerados, pero estos controladores pueden ser prohibidos en cualquier momento. (Al revocar su firma)

El proceso es muy sencillo:

  1. cargar el controlador firmado.
  2. Proporcionar un IOControl en el que los programas en modo usuario puede enviar memoria para el núcleo.
  3. Cambiar el bit de esta memoria ejecutar y simplemente llame a una dirección en esta memoria.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top