[linux] 디버깅할때 자주 쓰이는 명령어들
두비니
·2019. 5. 24. 03:24
F9: 실행(or breakpoint/entrypoint)
F2: breakpoint설정
ctrl+F2: 재시작
enter+F4: 함수에 진입하기
F8: 한줄씩 실행
push ebp
moc ebp, esp
sub esp, c===프롤로그
push(인자) : 스택에 인자를 집어넣음
ㄴpush exc인경우: 똑같이 4바이트 대입(최적화)
mov A, B: B에 있는 것을 A에 대입해라
lea A, B: B의 주소값을 A에 대입
sub A, B: B의 값만큼 감산(subtraction)
dword ptr: 4byte데이터임을 나타냄
word ptr: 2바이트 데이터임을 나타냄
byte ptr: 1바이트 데이터임을 나타냄
add A, B: B의 값을 A에 더하기
imul A, B: A에다가 B를 곱하기(부호상관X)
FLAGS 레지스터: if문에서 사용
jmp(주소값): 주소값으로 점프!(화살표있음)
je(주소값): jump if equal
ㄴ만약 이게 if문이라면 if문 안에는 '!='가있다!
cmp A, B: A-B의 값을 flags레지스터에 저장
div A: 기존의 eax의 값과 A를 나눠서 몫은 eax, 나머지는 edx에 저장.
test: 두 레지스터값이 모두 0일때 true반환
'Coding_Algorithm > Operating System' 카테고리의 다른 글
[linux] 1. ASLR(Adress Space Layout Randomization)에 대하여 (0) | 2020.10.11 |
---|---|
[linux] 0. 메모리 보호기법 - abstract (0) | 2020.10.11 |
bits.c code (비공개) (0) | 2020.10.07 |
[linux] scp로 서버 파일 가져오기 (1) | 2020.10.03 |
[linux] gdb에서 core사용하기 (0) | 2020.07.17 |