시스템해킹/공부

리눅스 리버싱 관련 명령어

Goblebin 2023. 1. 17. 02:55
반응형
  • apt-get 

리눅스에서 사용하는 패키지 관리 명령어이다.

 

apt-get update ← 모든 패키지 업데이트

apt-get upgrade ← 모든 패키지 업그레이드

apt-get install <패키지명> ← 패지키 설치

이외에도 많은 명령어가 있다. 주로 쓰이는건 이 정도.

 

 

 

 

 

 

  • readelf -h <실행파일명>

정적분석

 

 

 

 

 

 

  • gdb 실행파일명

gdb를 통해 해당 실행파일을 디버깅할 수 있음.

 

 

  • gdb 실행파일명 PID

ps를 통해 PID를 확인 후 현재 실행되고 있는 실행파일에 디버깅을 할 수 있음.

 


 

gdb로 프로그램을 실행한 후

 

 

 

  • run

프로그램 실행

 

 

 

 

 

 

  • set disassembly-flavor intel

intel CPU에서 사용하는 형식으로 어셈블리어를 볼 수 있음.

 

 

 

 

 

 

  • disas <함수(main 등)>

disas함수로 함수의 어셈블리어를 확인할 수 있음.

disas + TAB키를 활용해서 해당 프로세스의 함수를 확인할 수 있음.

 

 

 

 

 

 

  • b 또는 break <주소> 또는 <함수+α> 또는 숫자

run 명령어로 프로그램을 실행하던 중 브레이크 포인트를 만나면 해당 주소에서 멈춤.

b 숫자를 사용하는 경우 rip에서 숫자만큼 더한값에 브레이크 포인트를 설정함. 만약 -10을 하면 rip에서 -10을 한 주소에 브레이크 포인트를 설정함.

 

 

 

 

 

 

  • delete (번호)

브레이크포인트를 지울 때 사용함. delete만 사용할 경우 모든 브레이크포인트를 지울 수 있음.

info b를 통해 브레이크포인트를 확인 후 지우고싶은 브레이크포인트 번호를 쓰면 해당 브레이크 포인트만 지울 수 있음.

 

 

 

 

 

 

  • info reg

모든 레지스터의 값을 확인 가능

 

 

  • info reg $rax

rax 레지스터의 값을 확인 가능. rax 외에 다른 레지스터 값들도 확인 가능함.

 

 

 

 

 

 

  • info b

현재 브레이크 포인트를 확인 가능

 

 

 

 

 

 

  • cont 또는 continue

run을 통해 실행시킨 프로그램이 브레이크포인트에 의해 멈췄을 때 cont를 통해 계속 실행할 수 있음.

 

 

 

 

 

 

  • ni(next instruction)

명령어를 한 줄만 실행시킴.

 

 

 

 

 

 

  • x명령어
더보기

x/t $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 2진수로 보여줌.

 

x/o $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 8진수로 보여줌.

 

x/d $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 10진수로 보여줌.

 

x/u $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 10진수(unsigned)로 보여줌.

 

x/x $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 16진수로 보여줌.

 

x/c $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 char형식으로 확인하기.

 

x/f $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 부동 소수점으로 보여줌.

 

x/s $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 문자열로 보여줌,

 

x/bx $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 16진수 형식으로 1바이트를 보여줌.

 

x/hx $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 16진수 형식으로 2바이트를 보여줌.

 

x/wx $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 16진수 형식으로 4바이트를 보여줌.

 

x/gx $rax 또는 함수주소

rax 또는 함수주소에 있는 값을 16진수 형식으로 8바이트를 보여줌.

 

x/숫자gx $rax

$rax의 값을 16진수 형식으로 숫자만큼 보여줌.

 

 

 

 

 

 

  • detach

프로세스를 디버거에서 분리시킴.

 

 

 

 

 

 

참고 했던 사이트

https://www.youtube.com/watch?v=jyOoUxzrtTw 

반응형