반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 윈도우 커널
- 윈도우 커널 디버깅
- 윈도우 커널 드라이버
- 개발 환경 준비
- 바이트 오더
- 포너블
- C언어 패킷캡쳐
- windows kernel debugging
- HackCTF
- Windows Kernel Driver
- 개발하기
- 해킹
- 시스템해킹
- Windows
- apphelp.dll
- packet capture
- Windows Kernel
- vcruntime140.dll
- Windows Kernel Debug
- 네트워크 바이트 오더
- Msvcrt.dll
- ucrtbase.dll
- arudino
- pwnable
- IAT Hooking
- pcap packet
- Network Byte Order
- vcruntime.dll
- pcap packet capture
- hacking
Archives
- Today
- Total
미친해커
[WoW] Windbg를 이용해 WoW 프로세스 디버깅하기 본문
Windows/Heaven's Gate (Windows on Windows x64)
[WoW] Windbg를 이용해 WoW 프로세스 디버깅하기
미친해커 2022. 6. 13. 07:13반응형
나는 지금까지 WoW(Windows on Windows) 프로세스를 완벽하게 디버깅하기 위해서는 CheatEngine을 사용해야 한다고 생각했다. 왜냐하면 CS 레지스터의 값이 바뀌면서 모드가 변경되면 일반적인 디버거들은 오류를 일으키거나 해당 부분을 건너뛰어서 디버깅을 했다. 그렇기 때문에 CheatEngine을 사용해야한다고 생각했는데 해당 CheatEngine도 불편해서 사실상 제대로된 디버깅은 해본적이 없다. 그런데 Windbg를 이용하면 정상적으로 디버깅이 가능하다는 글을 보게되었다. 당연한 사실이지만 생각보다 지원되는 기능들이 많아서 너무 편하다.
How to Debug for WoW Process use Windbg
딱히 특별한 방법이 있는건 아니다. 아래 페이지에서 설치관리자를 다운받고 실행하면 된다.
설치관리자에 보면 Windbg를 설치하는 부분에 체크하고 Next를 진행하면 된다.
WoW 프로세스를 디버깅하기 위해서는 WinDbg (X64) 버전을 사용해야한다.
개인적으로 WinDbg Preview 버전이 깔끔하고 멋지기 때문에 선호하지만 제대로 WoW 프로세스에 대해서 디버깅이 되지 않는 것같다.
위 사진처럼 Windbg를 실행했으면 [File]에서 여러 디버깅 방법들을 확인할 수 있다. 필자는 [Attach to a Process] 보다는 [Open Executable] 기능을 더 많이 사용한다.
Windbg's WoW commands
!load wow64exts | 디버거 확장 로드 |
!wow64exts.sw | x86과 x64간 모드를 전환한다. |
!wow64exts.k count | 32/64 비트 스택 추적을 덤프한다. count 를 지정하면 지정된 개수의 주소를 덤프한다. |
!wow64exts.info | 프로세스의 PEB, 현재 스레드의 TEB 및 WOW64에서 사용하는 스레드 TLS 슬롯에 대한 기본 정보를 덤프한다. |
!wow64exts.r address | 지정된 주소에 대한 컨텍스트를 덤프한다. address를 지정하지 않으면 프로세서에 대한 컨텍스트를 덤프한다. |
마무리
간단하게 Windbg를 이용해 WoW 프로세스를 디버깅하는 방법을 살펴보았다. 그리고 !wow64exts.sw
명령을 사용하지 않더라도 디버거가 자동으로 모드를 전환해준다.
반응형
'Windows > Heaven's Gate (Windows on Windows x64)' 카테고리의 다른 글
[WoW] WoW 프로세스의 커널 함수 호출 과정 (0) | 2022.06.14 |
---|---|
[WoW] Far와 Near 어셈블리 명령의 차이점 (0) | 2022.06.01 |
[WoW] 32Bit 모드에서 64Bit 모드로 전환하기 (0) | 2022.05.31 |
[WoW] 32Bit 응용 프로그램에서의 Kernel 함수 호출 (0) | 2022.05.04 |
[WoW] WoW64(Windows on Windows 64-Bit)란? (0) | 2022.05.03 |
Comments