티스토리 뷰
Kernel Setting : http://tribal1012.tistory.com/164
시작 전, 위에 나오는 디버기 설정을 따라해서 가상머신 세팅을 끝낸다.
------------------------------------------------------------------------------------------------------------------------------
sys 파일 분석 방법
- VirtualKD로 잡힌 후, Windbg가 잡혀서 켜져야 한다.
- .symfix c:\symbols
- sxe ld file.sys 으로 sys 파일 로드
- lm으로 확인
- start와 end의 주소 확인
- IDA를 이용해 분석하고자 하는 함수의 Offset 주소 확인
- Disassembly에 start + Offset 주소(가장 뒤 4자, ex> 0x15148이면, 0x5148만) 적용
- 분석..
Dispath MajorFunction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #define IRP_MJ_CREATE 0x00 #define IRP_MJ_CREATE_NAMED_PIPE 0x01 #define IRP_MJ_CLOSE 0x02 #define IRP_MJ_READ 0x03 #define IRP_MJ_WRITE 0x04 #define IRP_MJ_QUERY_INFORMATION 0x05 #define IRP_MJ_SET_INFORMATION 0x06 #define IRP_MJ_QUERY_EA 0x07 #define IRP_MJ_SET_EA 0x08 #define IRP_MJ_FLUSH_BUFFERS 0x09 #define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a #define IRP_MJ_SET_VOLUME_INFORMATION 0x0b #define IRP_MJ_DIRECTORY_CONTROL 0x0c #define IRP_MJ_FILE_SYSTEM_CONTROL 0x0d #define IRP_MJ_DEVICE_CONTROL 0x0e #define IRP_MJ_INTERNAL_DEVICE_CONTROL 0x0f #define IRP_MJ_SHUTDOWN 0x10 #define IRP_MJ_LOCK_CONTROL 0x11 #define IRP_MJ_CLEANUP 0x12 #define IRP_MJ_CREATE_MAILSLOT 0x13 #define IRP_MJ_QUERY_SECURITY 0x14 #define IRP_MJ_SET_SECURITY 0x15 #define IRP_MJ_POWER 0x16 #define IRP_MJ_SYSTEM_CONTROL 0x17 #define IRP_MJ_DEVICE_CHANGE 0x18 #define IRP_MJ_QUERY_QUOTA 0x19 #define IRP_MJ_SET_QUOTA 0x1a #define IRP_MJ_PNP 0x1b #define IRP_MJ_PNP_POWER IRP_MJ_PNP // Obsolete.... #define IRP_MJ_MAXIMUM_FUNCTION 0x1b | cs |
- IRP_MJ_CREATE : 0x00
- IRP_MJ_CLOSE : 0x02
- IRP_MJ_DEVICE_CONTROL : 0xe
'Reversing' 카테고리의 다른 글
IDA 단축키 정리 (0) | 2017.11.17 |
---|---|
Windows stub code와 main 함수(IDA 사용) (0) | 2017.10.19 |
Reversing C++ programs with IDA pro and Hex-rays 번역 (4) | 2017.10.03 |
C++ Reversing (0) | 2017.10.03 |
Ida Plugin 리스트 및 사용법 (0) | 2017.10.03 |
댓글