심볼 없을 때 gdb 디버깅
2017. 12. 14. 13:48
가끔씩 포너블 문제를 풀다보면 이상하게 Break Point가 걸리지 않는 경우가 있다. 대표적으로 'ropasaurusrex' 문제가 있다. 이런 문제를 디버깅하려고 할 때는 다음과 같은 화면이 뜬다.
ch4n3@ip-172-31-0-14 ~/ctf/plaid_ctf_2013 $ gdb -q ./ropasaurusrex
Reading symbols from ./ropasaurusrex...(no debugging symbols found)...done.
gdb-peda$ b * main
No symbol table is loaded. Use the "file" command.
gdb-peda$ disas main
No symbol table is loaded. Use the "file" command.
gdb-peda$
이럴 때는 생각보다 간단하게 해결할 수 있다.
`info file` 명령어를 치면 된다.
info file 명령을 사용하면 다음과 같이 각 Segment 들의 주소 범위가 뜬다. 우리가 디버깅할 main 함수는 .text 영역에 있기 때문에 .text 의 시작시점에 break point를 걸면 된다.
이렇게 Break Point가 잘 잡힌채 실행된다.
'Hacking > Pwn.' 카테고리의 다른 글
Heap Allocation and Free 공부 (0) | 2018.04.06 |
---|---|
Meltdown, Spectre 정리 (0) | 2018.01.16 |
gdb에서 no debugging symbols found라고 뜰 때 (0) | 2017.10.06 |
core dumped :: core 파일 덮어쓰기 (0) | 2017.10.06 |
Lord of BoF allclear~! (0) | 2017.10.02 |