Understanding ptrace

2013. 11. 17. 23:57 from Research

저의 2번째 기술문서입니다. 

저번에 웹에 관련된 내용을 다루었다면 이번엔 시스템적인 ptrace에 관한 내용입니다.

부족하지만 열심히 썻으니 재밌게 봐주시면 감사하겠습니다.



ptrace by xeros.txt



==============================================================================================


Understanding ptrace() 


blog : xer0s.tistory.com

email : jessecar@naver.com

by : xeros


==============================================================================================


[Contents]------------------------------------------------------------------------------------


1. Intro

2. Basics of ptrace

3. ptrace parameters

4. Reading System Call Parameters

5. Reading Register Values

6. Single Stepping

7. Attaching to a Running Process

8. Conclusion

9. Reference


----------------------------------------------------------------------------------------------


[Intro]---------------------------------------------------------------------------------------


한번이라도 시스템콜이 어떻게 가로채지고 그런 시스템콜들을 조작해보고 싶었으며 디버거가 어떤식으로 실행중인 프로세스를 멈추게하고 프로세스의 소유권을 얻게 되는지 궁금했던 사람이라면 리눅스에는 이러한 것들을 가능하게 해주는 ptrace(Process trace) system call이라는 메커니즘을 제공해준다. ptrace는 부모프로세스가 다른 프로세스(자식 프로세스)를 통제하게 해주고 코어 이미지와 레지스터등을 바꾸거나 실행, 디버깅을 하면서 브레이크포인트 설치, 시스템콜 트레이싱등이 가능하다.

이 문서에서는 시스템콜들을 어떻게 가로채고 조작해주며 실행되고 있는 프로그램에 코드를 삽입해주는 작업을 해줄것이다. 오탈자나 틀린 내용등이 있으면 위에 있는 이메일로 문의를 주기 바란다. 이문서가 ptrace를 공부해보고 싶은 사람들에게 조금이나마 도움이 됐으면 하는 바램이다.


----------------------------------------------------------------------------------------------



'Research' 카테고리의 다른 글

bob 3기 과제 보고서 - handray+idapython  (0) 2014.10.14
Knowing about Local File Inclusion(LFI)  (2) 2013.03.10
Posted by xer0s :