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

Install WinDbg 윈도우 커널 디버깅은 우리가 일반적으로 알고 있는 x64dbg와 같은 디버거로는 디버깅할 수 없다. 윈도우에서 제작한 WinDbg를 사용해 디버깅할 수 있다. 기본적으로 WinDbg는 두 종류가 있는데 하나는 SDK에서 설치할 수 있는 디버거와 Microsoft Store에서 다운로드할 수 있는 디버거이다. 본문에서는 Microsoft Store에 있는 WinDbg Preview를 기준으로 설명하겠다. WinDbg Preview는 Microsoft Store에서 "Windbg" 키워드로 검색하면 바로 다운로드 받을 수 있다. Set the symbol path and server 이제 디버거의 심볼 패스와 서버를 설정해야 한다. 윈도우 커널을 디버깅하면서 필요한 디버깅 심볼들이..

Install Visual Studio Visual Studio Code와 Mingw(GCC)를 활용해서도 윈도우 커널 드라이버 개발을 할 수 있지만, Visual Studio에서 개발하는 편이 훨씬 간편하다고 생각한다. 1. 개발할 윈도우 버전 선택 윈도우 커널 드라이버는 하위 호환성은 지켜지지만 상위 호환성은 지켜지지 않는다. 그렇기에 자신이 개발할 드라이버의 대상이 되는 윈도우 버전을 잘 선택해야 한다. 하위 호환성 : Windows 7 드라이버를 Windows 10에서 실행 상위 호환성 : Windows 10 드라이버를 Windows 7에서 실행 이전 WDK 버전 및 기타 다운로드 - Windows drivers WDK(Windows 드라이버 키트), Windows 디버거(WinDBG) 등을 설치..

GitHub - jungjin0003/Instrumentation-Callback Contribute to jungjin0003/Instrumentation-Callback development by creating an account on GitHub. github.com Instrumentation Callback을 통해 알 수 있는 것 지금까지의 포스팅만 봤을 때 Instrumentation Callback은 그저 syscall 어셈블리가 실행되었다는 정보 밖에 알 수 없었다. 하지만 Instrumentation Callback은 그 외에도 아래와 같은 정보들을 구할 수 있다. Original Return Address (sysret 가 되었을 때 원래 돌아가야 할 주소) Syscall Number..

GitHub - jungjin0003/Instrumentation-Callback Contribute to jungjin0003/Instrumentation-Callback development by creating an account on GitHub. github.com Instrumentation Callback을 통해 알 수 있는 것 지금까지의 포스팅만 봤을 때 Instrumentation Callback은 그저 syscall 어셈블리가 실행되었다는 정보 밖에 알 수 없었다. 하지만 Instrumentation Callback은 그 외에도 아래와 같은 정보들을 구할 수 있다. Original Return Address (sysret 가 되었을 때 원래 돌아가야 할 주소) Syscall Number..
Instrumentation Callback's Strcture Instrumentation Callback을 등록하기 위해서는 특정한 구조체를 사용해야 한다. typedef struct _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION { ULONG Version; // x64 -> 0 | x86 -> 1 ULONG Reserved; // Always 0 PVOID Callback; // VOID (CALLBACK *InstrumentationCallback)(); } PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION, *PPROCESS_INSTRUMENTATION_CALLBACK_INFORMATION; How to Reigster Inst..
What is Instrumentation Callback? Instrumentation Callback(계측 콜백)이란 Windows 시스템에서 지원하는 콜백중 하나이다. When will this Callback be Called? Instrumentation Callback은 프로세스에서 syscall을 호출하는 모든 커널함수들이 호출되었을 때 호출된다. 예외 단 NtContinue, NtTerminateProcess, NtTerminateThread (현재 스레드에서 호출한 경우), NtRaiseException 함수의 경우에는 콜백이 동작하지 않는다.