Disassembly 함수 호출 및 재귀 분석: C++ → 어셈블리 흐름 정복
C++에서 함수 호출과 재귀 함수는 어셈블리에서 어떻게 나타날까요? 이 포스트에서는 call, ret, ecx, eax, rsp를 통해 함수 호출과 재귀 구조가 어떻게 구현되는지를 디스어셈블리로 명확히 분석합니다. 스택 프레임의 변화를 이해하면 리버싱 실력이 한층 더 올라갑니다.
C++에서 함수 호출과 재귀 함수는 어셈블리에서 어떻게 나타날까요? 이 포스트에서는 call, ret, ecx, eax, rsp를 통해 함수 호출과 재귀 구조가 어떻게 구현되는지를 디스어셈블리로 명확히 분석합니다. 스택 프레임의 변화를 이해하면 리버싱 실력이 한층 더 올라갑니다.
C++의 조건문과 반복문이 디스어셈블리에서 어떻게 구현되는지 궁금하신가요? 이 포스트에서는 Visual Studio 디버거를 활용해 if문, for문을 실제 실행파일 수준에서 분석하고, cmp, jmp, jge, add 등의 핵심 명령어 패턴을 정확히 짚어드립니다.
실행파일을 어셈블리 코드로 분석하고 싶다면 이 포스트를 참고하세요. Disassembly 기본 개념, C++ → Assembly 흐름, Visual Studio로 디스어셈블리 실습, 스택/레지스터 동작 구조까지 예제를 통해 쉽게 정리합니다.
x64dbg를 이용해 Windows C++ 프로그램을 디버깅하는 실습을 진행합니다. EntryPoint(진입점) 분석, main 함수 추적, Az 메모리 문자열 검색, operator<< 호출 추적까지 단계별로 상세히 따라가는 x64dbg 초보자 가이드입니다.
Windows에서 어셈블리 디버깅을 배울 때 가장 많이 쓰는 도구인 x64dbg를 소개합니다. x64dbg의 설치 방법, 기본 인터페이스 구성, Breakpoint 설정, Step 실행(F7, F8), 레지스터/메모리/스택 분석 방법을 기초부터 정리합니다.
NASM 어셈블리어에서 조건 분기(jmp, je, jne, jl, jg), 함수 호출 구조(call, ret), 스택프레임과 지역 변수 접근 방식을 복습하는 퀴즈입니다. 기본 명령어 흐름을 명확히 이해하는 데 도움이 됩니다.
NASM 어셈블리어 명령어에 대한 이해도를 높이기 위한 연습문제입니다. mov, add, cmp, jmp, push, pop, call, ret 등 핵심 명령어와 스택 동작 구조를 객관식 퀴즈 형식으로 정리했습니다.
Assembly(NASM) 학습 내용을 복습하는 기초 연습문제입니다. 64비트 레지스터 구분, 스택 구조 이해, 리틀 엔디안 메모리 저장 방식, 함수 호출 시 RSP/RBP 역할 등 퀴즈로 정리합니다.
Assembly 언어로 Hello World 출력부터 덧셈 계산기, 사칙연산 계산기까지 NASM과 io64.inc 매크로를 활용하여 실습해봅니다. 이 예제들을 통해 PRINT_STRING, READ_INT, cmp, call, ret 등의 명령어 흐름과 스택 사용법까지 익힐 수 있...
Assembly 실습 시 자주 등장하는 함수 호출 구조, 스택프레임 구성 방식, RBP와 RSP의 역할, 그리고 지역 변수 접근 방법까지 NASM 기반 Windows 환경에서 상세하게 실습합니다. 전 편에서 Assembly 기본 명령어 - Windows NASM 실습 가이드 에서 ...
NASM 기반 Windows 어셈블리 실습에서 흔히 등장하는 cdecl, stdcall 호출 규약(Call Convention)에 대해 다룹니다. 함수 호출 시 스택 구조, 인자 전달 방식, 복귀 흐름 분석은 리버싱과 디버깅에 핵심입니다.
NASM 기반 어셈블리를 처음 접하는 사용자라면, 가장 먼저 익혀야 할 것은 기본 명령어의 역할과 사용법입니다. 이 글에서는 mov, add, sub, cmp, jmp, push, pop, call, ret 같은 필수 명령어들을 Windows 64bit 기준 실습 코드와 함께 정리...
Windows 환경에서 NASM 어셈블리를 실습하려면 가장 쉬운 도구는 SASM입니다. 이 글에서는 SASM 설치 → Hello, world 예제 → 디버깅 방법 → 메모리/레지스터 분석까지 어셈블리 학습의 첫 실습 환경을 완벽하게 세팅하는 방법을 정리합니다.
Windows 64bit 기반 NASM 어셈블리를 처음 공부한다면, 이 글에서 레지스터 구조 → 명령어 구조 → 메모리 → 호출 규약 → 실전 흐름까지 한 번에 정리해드릴게요.