리버싱
디버깅 기본 명령어, 사용법 모음 (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 지정 후 탈출