강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của 100sh2318
100sh2318

câu hỏi đã được viết

Nhập môn System Hacking (Pwnable) để tham gia cuộc thi Hacking (CTF)

Viết mã khai thác (RET Ghi đè bằng StackBufferOverFlow)

retrun 주소값에 브레이크 포인트 걸고

Viết

·

33

0

인프런Q_A.png.webp

continue 시 thread is running error 가 뜨는데 이유와 해결법을 잘 모르겠습니다

모의해킹시스템-해킹buffer-overflow

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다.

백승훈님이 질문하신 내용을 바탕으로 문제를 살펴보겠습니다. GDB를 통해 디버깅을 하던 도중에 continue 명령어를 실행할 때 “thread is running” 오류가 발생하는 것으로 보입니다. 이 오류는 대개 여러 스레드가 실행 중이고 GDB가 특정 스레드에 적절히 연결되지 않거나 제어하지 못할 때 발생할 수 있습니다. 이는 특히 멀티스레드 환경에서 자주 발생하는 문제입니다.

해결방법으로는 아래의 방법들을 제안드립니다:
1. 스레드 확인 및 전환: GDB의 info threads 명령어를 통해 현재 실행 중인 스레드를 확인하고, 특정 스레드로 전환하려면 thread <ID> 명령어를 사용해 보세요.

  1. SIGALRM 신호 처리: SIGALRM은 특정 시점에 다른 처리를 수행하기 위한 알람 신호로 사용되며, 계속적인 스레드 실행 오류와 함께 발생하는 것을 고려할 때 이 신호를 무시하도록 설정하거나 적절히 디버깅 환경을 세팅하는 것이 필요할 수 있습니다. 이를 위해 (gdb) handle SIGALRM nostop noprint 명령어를 사용하여 이 신호를 무시하도록 설정할 수 있습니다.

  2. GDB 설정 점검: Pwndbg와 같은 추가적인 GDB 확장 모듈을 사용할 때는 해당 모듈의 설정에 문제가 있을 수 있습니다. 설정 파일이나 관련된 도우미 문서를 참고해 필요한 설정이 제대로 되어 있는지 확인해 주세요.

아래의 두 답변 링크를 참고하시면 비슷한 문제를 해결한 경험에 대한 설명을 확인하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của 100sh2318
100sh2318

câu hỏi đã được viết

Đặt câu hỏi