리버싱

디버깅 기본 명령어, 사용법 모음 (x86)

parktest0325 2020. 12. 6. 23:29

gcc

소스코드를 gdb>list 명령을 사용해 볼수있게 추가정보를 포함하여 컴파일

gcc -g source.c -o source.out 

 

objdump

a.out을 intel명령으로 디스어셈블하고 main.: 이후 20줄만 출력

objdump -M intel -D a.out | grep -A20 main.:

 

gdb

set disassembly-flavor intel : 어셈블리를 인텔형식으로 출력

info registers : 레지스터값 전부 출력

info all-registers : mmx 포함 레지스터값 전부 출력

info locals : 현재 스택 지역변수 출력

info variables : 전역변수 출력 

 

list func : func함수 소스코드 출력 

disassemble main : main함수 디스어셈블

disassemble 0x08048374 0x0804838f : 두 주소 사이 디스어셈블

disassemble $eip : eip 값에 해당하는 주소 디스어셈블

 

break 

 

run, continue, kill : 실행, 실행계속, 실행종료

s [n], n [n] : [n] 줄 실행 s는 함수호출시 안으로 들어감, n은 함수호출 이후 줄로 넘어감

si(stepi), ni(nexti) : 한줄 명령실행

 

u : 현재 루프 탈출

finish : 현재 함수를 실행하고 탈출

return : 현재 함수를 실행하지 않고 탈출

return 123 : 리턴값 123 지정 후 탈출

 

 

mintnlatte.tistory.com/581