Windows 3

Syscall - implement

C 언어에서 syscall 호출하는 방법을 알아보겠습니다.방법 1: NTDLL.dll EXPORT 함수 직접 호출가장 간단한 방법입니다. NTDLL.dll 이 export 하는 Nt*/Zw* 함수를 직접 선언하고 호출합니다.NTDLL.dll 은 프로세스 로드 시 자동으로 메모리에 매핑되므로 별도의 LoadLibrary가 필요 없습니다.#include #include #define NTSTATUS LONG#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)typedef NTSTATUS (fnNtAllocateVirtualMemory)( HANDLE ProcessHandle, PVOID *BaseAddress, ULONG ..

IT 2026.06.10

Syscall - 커널의 소통 창구

Syscall은 사용자 프로그램(User mode, Ring 3)이 운영체제의 핵심 기능(Kernel mode, Ring 0)에 접근하기 위한 공식적인 진입점 입니다. 운영체제의 커널은 보호된 영역에서 동작합니다. 애플리케이션이 파일 I/O, 메모리 할당, 프로세스 생성, 네트워킹 등의 커널 기능을 사용하려면 특수한 CPU 명령어를 통해 Ring3 -> Ring0로 전환해야 하는데, 이 전환 메커니즘이 바로 Syscall입니다.Linux에서는 syscall/sysenter 명령어로 직접 커널 테이블을 참조하지만, Windows에서는 Native API 라는 계층화된 구조를 통해 접근합니다.Windows 의 API 계층 구조Windows는 운영체제 기능을 노출하는데 세 가지 주요 계층을 사용합니다. 각 계..

IT 2026.06.03

- 자작 C2 서버 제작기 -

간단한 C2 서버를 LLM 을 활용해 제작해보았다.LLM 모델은 qwen3.6_35b_a3b_q8. 이 모델을 활용해 c2 서버를 제작해 보았습니다.HTTP-polling 기반의 명령-응답 구조이며, agent는 macOS, Windows 를 지원합니다.1. 통신 계층// common.c:161header_len = snprintf(header_buf, sizeof(header_buf), "%s %s HTTP/1.0\r\n" "Host: %s\r\n" "Content-Type: application/json\r\n" "Content-Length: %d\r\n" "\r\n", method, path, host_header, (int)strlen(body));HTTP/1.0 ..

IT/Hack 2026.05.13