Win 7 또는 Vista x86 커널단에서 ObRegisterCallbacks 함수 써 본 사람 있음?

아오 이거 빡치게 만드네...

ObRegisterCallbacks 이 함수가... 옵젝트 콜백을 등록하는건데, 프로세스나 쓰레드에 대한 접근을 제한할 수 있어서,

보안 프로그램에서 많이 쓰이게 될 텐데...

이게 원래 x64 에서 커널 후킹이 안되니깐 MS 추가로 제공해준 기능이야.

근데 이게... x64 에선 나도 잘 쓰고 있는데, 이게 아놔.. x86 에선 안되네 -_-

이 함수를 쓰기 위해선 해당 드라이버가 /INTEGRITYCHECK 라는 링커 옵션을 포함해서 빌드되어야 하고,

빌드되어 나온 드라이버 바이너리도 디지털 사이닝이 되어야만 ObRegisterCallbacks 함수 호출이 성공적으로 이루어져.

문제는... 이게 테스트 부트 모드가 아니면 드라이버 로딩 자체가 안되네 -_-

로딩할 때, /INTEGRITYCHECK 옵션으로 빌드된 드라이버는... 왜인지 로딩이 안돼.

CRC ERROR 를 내 뱉는걸 봐선 사이닝이 안되거나 /INTEGRITYCHECK 옵션이 없어서 그렇다는데..

이게 사이닝도 다하고, /INTEGRITYCHECK  옵션도 넣어서 빌드를 했거든.

게다가 같은 sources 파일로 빌드한건데도 x64 에서는 잘돼 -ㅅ-

아오 ms 이 쇼키들 구라친거 아녀? x86 에서도 잘 동작한다고 말야. 사실은 x64 에서만 되고 -ㅅ-

혹시 x86 에서 ObRegisterCallbacks 함수 성공적으로 사용해 본 적 있는 횽아 있음?

테스트 부트 모드 말고, 일반 부팅 시스템에서도 로딩되는 드라이버 빌드 해본 사람 말야.