본문 바로가기

Study/Driver6

Win7 64bit Eprocess 구조체 Win 7 64비트에 Eprocess 사용하기 프로세스를 숨기기를 진행중.. 윈7 64비트 Eprocess 구조체의 모습을 알아야 가능하니 일단 적어두자~ +0x000 Pcb : _KPROCESS +0x160 ProcessLock : _EX_PUSH_LOCK +0x168 CreateTime : _LARGE_INTEGER +0x170 ExitTime : _LARGE_INTEGER +0x178 RundownProtect : _EX_RUNDOWN_REF +0x180 UniqueProcessId : Ptr64 Void +0x188 ActiveProcessLinks : _LIST_ENTRY +0x198 ProcessQuotaUsage : [2] Uint8B +0x1a8 ProcessQuotaPeak : [2] U.. 2011. 11. 25.
윈도우7(Win7) 64bit 코드사인 없이 드라이버 로드하기!! 비스타 64비트부터는 드라이버를 로드하려면 코드 사인(디지털 인증서명)이 필요하다 비스타에서는 테스트 사인, 또는 몇몇 방법으로 코드사인이 필요없이 드라이버를 로드할 수 있었으나 Win7부터는 그러한 방법이 패치되어 막혔다고 한다.. 나역시 인터넷에 떠도는 일반적인 방법으로 드라이버를 로드하려 하였으나...정상동작되는 모습이 보이지 안았다.;; (뭐 물론 내가 정확하게 테스트를 진행하지 안았을지도 모른다..;; ㅡ,.ㅡ) 암튼 구글링을해서..되지도 않는 영어를 해석하며 알아본 결과..역시나 있다. ㅡ,.ㅡ;; 한글로 포스팅된 블로그도 있다..헐...;;; (한참을 찾아 해맸는뎅;; ...아직 정보 검색의 능력이 현저히 떨어짐을 느끼고 있다. ,,,) 그럼 인터넷에서 찾은 글을 토대로 내용을 정리해보도록 .. 2011. 11. 21.
Win7 64비트에서 드라이버(sys파일) 빌드하기!! vs2008에서.. 32비트 드라이버는 빌드해봤다는 가정하에..이야기를 진행해보자~~ 나도 여기저기 자료뒤져보고 짬뽕해 간단하게 해보았다....빌드되서 결과물은 나왔는데 이게 잘된건지..알수가 없었다. 64비트부터는 드라이버를 로드하려면 코드사인이 필요하다. 구글링을 하면 비스타 64비트에서는 로드하는 방법들이 꽤 나와있지만 win7에서는 방법이 잘보이지 않아서.;;; 1차적으로 비스타 방법으로 테스트 해보았다...서비스는 등록되었는데..실제 드라이버를 동작시킬려고 하면.. sys파일을 못찾는다는 에러 발생..흠....요 부분은 테스트를 좀 더해보고 결과가 나오면 포스팅 하도록 하겠당 다시 본론으로 돌아와서 .. 우선 당연히 WDK는 설치가 되어있을것이고... ddkbuild.bat파일도 있죵?? (아래 첨부한 파일을 갔다.. 2011. 11. 21.
Driver Unload할때~ 드라이버를 unload 하고 재시작시 CreateService에서 정말 아주 가끔씩 ERROR_SERVICE_MARKED_FOR_DELETE 에러를 내뱉으며 드라이버 설치되지 않을 때가 있었다...;; 재현하기 힘든 상태라서 원인을 파악하기엔 어려움이 있었지만...드라이버 언로시에 관련된 함수들을 지우거나 강제로 실패하게 만들어 재현 상태를 가상적으로나마 만들어 봤었다.. 문제는 ControlService()함수가 문제였는데.. 언로드시 함수 호출 루틴은 다음과 같다. OpenSCManager -> OpenServiceA -> ControlService -> DeleteService .... 여기서 ControlService 함수에서 서비스 중지 명령을 날린 후 DeleteService 를 호출하는데 C.. 2011. 9. 28.