일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ucrtbase.dll
- 시스템해킹
- vcruntime140.dll
- 윈도우 커널 드라이버
- 윈도우 커널
- 윈도우 커널 디버깅
- 해킹
- Windows Kernel Debug
- Windows Kernel Driver
- arudino
- 포너블
- pwnable
- C언어 패킷캡쳐
- 네트워크 바이트 오더
- Network Byte Order
- IAT Hooking
- hacking
- packet capture
- apphelp.dll
- pcap packet
- 개발 환경 준비
- HackCTF
- vcruntime.dll
- Msvcrt.dll
- 개발하기
- Windows Kernel
- pcap packet capture
- windows kernel debugging
- Windows
- 바이트 오더
- Today
- Total
목록전체 글 (117)
미친해커
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.

How are ntdll.dll and WoW ntdll.dll different? ntdll.dll은 커널 함수가 정의 되어 있는 DLL이다. 유저 모드의 커널 함수들은 syscall을 통해 커널 함수를 호출할 수 있다. 하지만 운영체제(커널)은 64Bit이며 WoW 프로세스는 32Bit로 동작한다. 그렇기에 32Bit 프로세스는 syscall 하기 전 64Bit 모드로 전환할 필요가 있다. 위 이미지와 같이 WoW ntdll.dll의 경우 syscall number를 eax 레지스터에 지정하고 syscall이 아닌 call edx로 어떠한 함수를 호출하는 것을 확인할 수 있다. Which function is invoked using edx register? call edx는 ntdll!Wow64Sy..

나는 지금까지 WoW(Windows on Windows) 프로세스를 완벽하게 디버깅하기 위해서는 CheatEngine을 사용해야 한다고 생각했다. 왜냐하면 CS 레지스터의 값이 바뀌면서 모드가 변경되면 일반적인 디버거들은 오류를 일으키거나 해당 부분을 건너뛰어서 디버깅을 했다. 그렇기 때문에 CheatEngine을 사용해야한다고 생각했는데 해당 CheatEngine도 불편해서 사실상 제대로된 디버깅은 해본적이 없다. 그런데 Windbg를 이용하면 정상적으로 디버깅이 가능하다는 글을 보게되었다. 당연한 사실이지만 생각보다 지원되는 기능들이 많아서 너무 편하다. How to Debug for WoW Process use Windbg 딱히 특별한 방법이 있는건 아니다. 아래 페이지에서 설치관리자를 다운받고 실..