2010-07-01 6 views
1

Windows의 드라이버는 코드 서명을 위해 Microsoft에 서명하고 제출해야하며 이는 64 비트 시스템의 요구 사항입니다. 문제는 드라이버를 업데이트해야 할 때 모든 릴리스에 한 번씩 다시 제출해야한다는 것입니다.Windows에서 반복되는 코드 서명을 피하기위한 드라이버 프록시

일부 종류의 프록시 또는 심 드라이버를 빌드하여 한 번만 서명하고 제출해야하며 별도의 모듈에 코드를 추가해야합니까?

물론 동적으로로드 된 모듈을 64 비트 커널 모드에서 실행하려면 서명해야하므로 DLL에서 작업 코드를 이동할 수 없습니다. 내 코드를 원시 파일에 저장하고 (실행 플래그를 사용하도록 할당 된) 메모리에로드 한 다음 실행하면 어떨까요? 다른 아이디어?

답변

0

Microsoft에 드라이버를 제출하지 않아도됩니다. 교차 서명 인증서로 운전 기사에게 서명해야합니다. 이런 식으로 잔소리가 날 것입니다. 그러나 이것은 금지되어 있지 않습니다!

당신이하고 싶은 일을 여러 번 시도했습니다. 이들은 '간신히'용납되지만,이 운전자는 언제든지 금지 될 수 있습니다.

(서명을 취소하여) 과정은 매우 간단합니다 :

  1. 로드 서명 된 드라이버.
  2. 사용자 모드 프로그램이 커널에 메모리를 보낼 수있는 IoControl을 제공하십시오.
  3. 이 메모리의 실행 비트를 변경하고이 메모리의 주소를 호출하기 만하면됩니다.
+0

고객은 32 비트에서도 경고를 피할 것이므로 드라이버를 WHQL에 제출해야합니다. 그러나 커널 수준의 코드에도 매우 빠른 업데이트 및 패치가 제공되어야합니다. 다행스럽게도 설치된 시스템의 수가 상대적으로 적습니다. 쉬운 단계를 제공해 주셔서 감사합니다. – Wizard79