함수 호출 규약
# 함수 호출 규약(Calling Convention) - 함수(Caller)와 함수(Calle)간의 약속 - 파라메터를 어떤 방법으로 전달할 것인가? - 사용한 파라메터를 누가 정리할 것인가? - 규약의 종류는 _cdecl, _stdcall,...
올리디버거 Ollydbg
F8 : STEP OVER ( 함수 자동 실행 ) F7 : STEP INTO ( 함수 내부 진입 ) Ctrl + F2 : 재시작 RESTART F9 : RUN F2 : BREAK POINT , : COMMENT SPACE : 코드...
함수호출 CALLER > CALLEE
CALLER 호출 함수 CALLEE 피호출 함수 CALL 주소 CALL 00401000 // 00401000에 있는 함수 호출 ->PUSH EIP ->JMP 00401000 RETN -> POP EIP RETN 값 -> POP EIP -> ADD...
기본 어셈블리 ASSEMBLY
기계어 - 2 진수를 가지고 기계가 이해할 수 있도록 표현한 언어 기계어와 어셈블리어는 1:1 매칭으로 이루어져 있음 #OPCODE, operand operand는 0 ~ 3개까지 올 수 있음. ex) MOV EAX, 10 MOV같은 어셈블리를...

RAM 구조, STACK, POP, PUSH, MOV
@ RAM (Random Access Memory) 구조 - 윈도우즈 계열에서는 PE구조를 기반으로 올라가는 메모리 구조 - 리눅스 계열에서는 ELF 구조를 기반으로 올라가는 구조 - 이 게시물에서는 PE 구조를 다룸 - 메모리 영역은 크게...

범용 레지스터: EAX, ECX, EDX, ESI, EDI, ESP, EBP, EIP, EFlags
1. EAX(Extended Accumulator Register) 첫번째로, EAX 레지스터에 대해 알아보도록 하겠습니다. EAX 레지스터는 산술(덧셈, 곱셈, 나눗셈 등), 논리 연산을 수행하며 함수의 반환값이 이 레지스터에 저장됩니다. 즉,...