본문 바로가기

경험/보안, 해킹

[화이트해킹] 리눅스 GDB 사용하기 (화이트해커 양성교육 과제)

  • 1. GDB 설치하기
  • sudo apt update -y && sudo apt install gdb -y

2. GDB로 파일 실행하기

  • gdb "파일명" [파일의 인자]
  • gdb ./license_1

3. 디스어셈블하기

  • (gdb) disas main
    • disas == disassemble
    • 참고: (gdb) disassembly-flavor intel (intel형 어셈블리어로 보기)
  • (gdb) break [함수 | 절대, 상대주소]
    • break *main
    • break 
    • 참고
      • info break: 현재 브레이크포인트 정보 확인)
      • delete [num]: 인자가 있으면, num 브레이크포인트 삭제 / 없으면, 전체 삭제
      • run [인자]: gdb 실행 시 준 파일을 실행함(실행 도중 "run" 입력 시 처음부터 다시 실행)
      • continue: breakpoint 이후 실행
      • ni: 다음 cpu단계로 이동

 

lincense1 리버싱해보기

run [아무 인자]

disass main 결과

main+69: callq에서 strcmp@plt는 문자열 비교를 뜻하는 걸로 추정된다.

그렇기 때문에 main+69에 브레이크포인트 지정

  • disass *main+69

  • x/s $rsi 후 x/s $rdi
    • x/s == 문자열 형태로 데이터를 보겠다.

나가서 실행하기

따란~~

반응형