BLOG main image
분류 전체보기 (224)
Reversing (13)
Pwnable (4)
Linux Kernel (3)
Crypto (2)
Wargames (68)
Programming (18)
Write Up (32)
Project (22)
Web (2)
My Life (52)
Memo (3)
etc (2)
발표자료 (1)
42,654 Visitors up to today!
Today 2 hit, Yesterday 27 hit
daisy rss
tistory 티스토리 가입하기!
2017.08.13 00:43


따로 ida에서 제공하는 dbgsrv에서 쓸만한게 없다면 gdbserver를 올려서 디버깅 해야한다.
서버에 gdbserver를 static으로 서버 환경에 맞게 컴파일하거나 이미 컴파일 된 파일을 다운 받아서 올리고 

"sudo ./gdbserver 127.0.0.1:port ./binary" 이렇게 실행하면 된다. port부분에 1337, 7777처럼 포트 번호를 넣으면 된다. (해당 포트포워딩은 외부로 해 둬야 한다.)

가끔씩 sudo를 안해서 ida에서 오류가 날 때가 있으니 해주는게 좋다.

그리고 ida로 debugger를 Remote GDB debbuger로 설정하고 Debugger - Process Options에서 Application, Input file을 서버에서의 파일 위치로 잡고, Parameters는 인자, Hostname에 서버 주소를, Port에 아까 열은 포트를 입력하면 된다.

그러면 디버깅을 할 수 있다.

그런데 가끔씩

이런 에러가 날 때가 있다. ("Single-stepping a thread failed; possibly stub does not support single-stepping Try disabling the single-step functionality in debugger-specific options.")

이 때는 Debugger - Debugger Options - Set specific options - Use stepping support 옵션에 체크를 해제해주면 정상적으로 디버깅 할 수 있다.

'Reversing > Debugging Tech' 카테고리의 다른 글

gdbserver 디버깅  (0) 2017.08.13
OS 동적 디버깅(vmware)  (1) 2016.06.22
16bit DOS Debugging  (0) 2016.02.03
IDA Linux Remote Debugging  (0) 2015.09.19
Name
Password
Homepage
Secret