WinDbg로 커널 드라이버를 디버깅해보신분이라면 MS에서 디버그 심볼을 자동으로 다운로드 받아 디버깅 시 디버그 심볼도 같이 포함되어 디버깅을 편하게 할 수 있다는 것을 알 수 있습니다.
위
와 비슷하게 IDA에서 Microsoft사에서 만든 바이너리파일을 리버싱해야 할 경우가 있는데 이 때 Determina PDB
Plugin for IDA Pro 라는 IDA 플러그인을 이용하면 IDA에서도 디버그 심볼을 포함시켜서 디버깅이 가능하게 됩니다.
해당 플러그인은 다음 주소에서 받으실 수 있습니다.
http://www.openrce.org/downloads/details/203/Determina_PDB_Plugin_for_IDA_Pro
파일을 다운로드 받으신 후 압축을 풀게 되면 폴더안에 Plugin 폴더안에 두 개의 폴더가 있고 각각의 폴더안에 pdb.plw, pdb.p64 라는 파일을 IDA가 설치 된 경로에서 Plugins 폴더로 복사합니다.
그 후 다시 압축을 풀었던 경로로 가시면 detpdb.cfg라는 파일이 있는데 IDA가 설치 된 경로에 Cfg폴더로 복사합니다.
그 후 detpdb.cfg라는 파일을 연 후 안에 내용을 다음과 같이 바꾸시게 되면 설치작업은 끝난 것입니다.
//
// Determina PDB plugin
//
// Symbol search path in the format used by WinDbg debugger. If the option is
// not set, DbgHelp will search the local directory and the paths in the
// _NT_SYMBOL_PATH and _NT_ALTERNATE_SYMBOL_PATH environment variables.
// Download public symbols from the Microsoft symbol server and store them in
// the C:\Symbols directory.
DETPDB_SYMBOL_PATH = "SRV*C:\\Symbols*http://msdl.microsoft.com/download/symbols";
// Enable DbgHelp debugging output. Use Sysinternals DebugView to see it.
// DETPDB_DEBUG = YES
그 후 간단하게 IDA에서 Win32k.sys 파일을 열어보시면 다음과 같이 디버그 심볼을 찾았고 해당 심볼들을 로드할 것인지 물어보는 창이 뜹니다.
이 플러그인이 MS사 관련 프로그램들 분석할때 정말 유용하더라구요.
어떤 곳에서는 안되서 한참 찾아도 못찾는 분들이 계시던데 이거 보고 플러그인 설치하시면 되겟네요~