gdb 명령어
Set disassembly-flavor intel
Disas main
B *main+number 브레이크 포인트
R run
P[변수명] 특정 변수값 확인
X $[레지스터:ex:rbp-0x4] 값확인
레지스터
EAX 사칙연산 리턴값
EDX 함수 파라미터
ECX for문에서 I 루프 카운터
EBX 부족대비용
ESI 시작인덱스
EDI 목적지인덱스 (ESI복 EDI붙)
ESP 스택천장
EBP ESP 임시저장,스택바닥
어셈블리
PUSH 스택에 값 저장
POP 스택에서 값 뺌
MOV 값대입
LEA 주소를 가져옴
ADD src -> +dest
SUB src -> -dest
INT INTerrupt
CALL 함수호출[오퍼랜드]
INC INCrease (I++)
DEC DECrease (I—)
AND, OR XOR 연산
NOP 아무것도 안함 (패딩)
CMP 비교
/*
BYTE char 8bit
WORD short 16bit
DWORD long 32bit
QWORD longlong 64bit
MOV a,b -> a=b
LEA a,b -> a=&b
ADD a,b -> a+=b
SUB alb -> a-=b
INC a -> a++
DEC a-> a—
MUL alb -> a*=b
JMP 0xabcd -> 무조건 점프
JLeast 왼쪽이 오른쪽보다 작을 때 점프
JGreat 왼쪽이 오른쪽보다 클 때 점프
JEqual, JZeroFlag -> ZF=1일때 점프
JNotEqual, JNotZeroflag -> ZF=0일때 점프