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

[WoW] 32Bit 응용 프로그램에서의 Kernel 함수 호출 Windows 64Bit에서 32Bit 응용 프로그램을 실행하고 디버거로 커널 함수의 어셈블리를 확인하면 대부분 다음과 같은 형식을 띄게 된다. mov eax, 0x00000026 # Windows System Call Number mov edx, Wow64SystemSe.. crazyhacker.tistory.com 이전 포스팅 이전 포스팅에서 jmp 0033:wow64cpu.dll+7009 라고 적힌 처음보는 jmp instrcution을 볼수 있었다. 해당 어셈블리를 Cheat Engine이 아닌 일반적인 디버거(OllyDbg, x64dbg)에서는 다르게 표시된다. jmp far라는 instrcution으로 해석되는 것을 확인할 수 있..

Windows 64Bit에서 32Bit 응용 프로그램을 실행하고 디버거로 커널 함수의 어셈블리를 확인하면 대부분 다음과 같은 형식을 띄게 된다. mov eax, 0x00000026 # Windows System Call Number mov edx, Wow64SystemServiceCall # 64비트 모드 전환 함수 call edx # 모드 전환 함수 호출 ret # 리턴 우리가 알고 있는 커널 함수의 호출은 syscall 어셈블리를 사용해 커널에 호출하게 된다. 하지만 Windows on Windows로 돌아가고 있는 32Bit 응용 프로그램은 syscall이 아닌 Wow64SystemServiceCall 이라는 함수를 호출하고 있다. 해당 함수는 Windows 64Bit 운영체제의 32Bit용 ntd..
WoW64란? WoW64는 Windows 64Bit 운영체제에서 Windows 32Bit 응용 프로그램을 실행할 수 있는 Windows 운영 체제의 하위 시스템이다. 과거 Windows 32Bit 운영체제에서는 Windows 16Bit 와의 호환성을 위해 Windows on Windows 라는 이름으로 등장시켰다. 하지만 현재 Windows 64Bit 운영체제에서는 Windows 16Bit 응용 프로그램은 동작하지 않는다. 해당 이유는 Windows 64Bit의 시스템 핸들의 크기 때문이라고 한다. 구현 세부 정보 wow64.dll - 포인터 및 호출 스택 조작과 32비트와 64비트 호출 간 변환하는 Windows NT 커널에 대한 핵신 인터페이스 wow64cpu.dll - 32비트 애플리케이션(win3..
How to patch the top 12 bytes of the API 이제 후킹하고 싶은 API의 상위 12 바이트를 패치하는 것만 남았다. 기본적으로 DLL의 함수들은 .text 섹션에 존재한다. 해당 섹션의 메모리 보호 옵션은 보통 ER--- 로 쓰기 권한이 빠져있다. 그렇기 때문에 먼저 쓰기 권한을 부여해야만 한다. Windows API 중 특정 영역의 메모리 보호 옵션을 수정하는 함수는 VirtualProtect 함수가 있다. VirtualProtectEx function (memoryapi.h) - Win32 apps Changes the protection on a region of committed pages in the virtual address space of a specified ..
[Reversing] Trampoline(Inline) Hooking x86 Step 1 [Reversing] Trampoline(Inline) Hooking x86 Step 0 Trampoline Hooking Trampoline Hooking 이란 타겟 API의 상위 n바이트를 jmp 어셈블리로 패치하여 후킹하는 기법을 말한다. Trampoline Hooking은 x86과 x64.. crazyhacker.tistory.com 사실 Trampoline Hooking x64 Step 1은 존재하지 않는다. 기존의 Trampoline Hooking x86 Step 1의 내용과 같기 때문에 위 포스팅을 보고 진행하되 64비트 컴파일러를 사용하길 바란다. 그럼 Trampoline Hooking x64 Step..

해당 글을 읽기 전에 리버싱 또는 후킹에 대한 기본적이 지식이 없으신 분들이라면 아래 글을 모두 숙지 후에 와주세요. [Reversing] Trampoline(Inline) Hooking x86 Step 0 Trampoline Hooking Trampoline Hooking 이란 타겟 API의 상위 n바이트를 jmp 어셈블리로 패치하여 후킹하는 기법을 말한다. Trampoline Hooking은 x86과 x64에서의 기술 구현 방법이 미세하게 다르다. 그렇기 때.. crazyhacker.tistory.com Trampoline Hooking Trampoline Hooking 이란 타겟 API의 상위 n바이트를 jmp 어셈블리로 패치하여 후킹하는 기법을 말한다. Trampoline Hooking은 x86과..