1. 심볼없는 드라이버 DriverEntry에 bp설정

bp 드라이버이름+0xef(드라이버 entry의 offset) // offset은 PEviewer등 툴로 확인가능
sxe ld 드라이버이름 // sxe는 활성화 sxd는 비활성화 -> 로딩되는 시점에 break 걸림

2. IopLoadDriver 를 찾아가다 보면 call dword ptr [edi+2c] 코드에 bp를 설정함 -> bp nt!IopLoadDriver+0x66a
edi에는 driver_object의 주소가 있으며, 0x2c의 offset에는 DriverInit맴버가 있음. 이 DriverInit맴버가 DriverEntry의 주소를 가지고 있어 이 주소위치에 bp를 설정하여 드라이버의 처음부분부터 분석이 가능함

dt _driver_object [edi] 로 값을 확인할 수 있음.
신고
Posted by kyh1026

티스토리 툴바