리눅스 커널 분석.... 좀 용이하게 할수 있는 방법은 정녕 없는걸까요?
글쓴이: nixon4545 / 작성시간: 목, 2016/06/09 - 8:30오후
리눅스 커널 분석을 하고 있습니다.
제가 어떤 프로그램을 실행했을때 어떤 함수를 거치는지를 보려고 하는데요
분석 자체가 처음이라
그냥 프로그램 실행한후 dmesg명령어를 통해 확인하고
커널소스를 조정하면서 또 컴파일하고 재부팅해서 보고 이런식으로 반복하고 있는데
상당히 고역이네요...
특히 모듈부분을 건들면 또 긴시간동안 컴파일을 해야 코드가 적용이 되더군요...
혹시 제가 하는 방법외에 다른 방법으로 하시는 분이 있는지 궁금하네요 ㅎㅎ
Forums:
http://www.kernel.bz/ 에 물어보시면
http://www.kernel.bz/ 에 물어보시면 어떨까요? 오랫동안 커널 관련 일을 하는 걸로 알고 있습니다.
세벌 https://sebuls.blogspot.kr/
거기는 교육사업을 하는 상업회사입니다. 더군다나
거기는 교육사업을 하는 상업회사입니다.
더군다나 유료수업 퀄리티도 떨어집니다.
?
모듈 프로그래밍 하시는 건가요?
커널 분석이라기 보다는 모듈 디버깅을 원하시는 것 같은데,
저 같은 경우 qemu 에 커널을 올리고 gdb 로 원격 디버깅합니다.
물론 동적으로 로드하는 모듈 역시 디버깅 가능합니다.
모듈이 아니라 지금 커널 소스 자체를 수정해서 하시는 거라면
사실 매번 수정하고 컴파일하고 다시 하고 를 반복하는 수 밖에 없겠죠.
이건 분석이 아니라 개발이 되겠습니다만.
그냥 커널 분석이면 위에서 얘기한대로 qemu + gdb 원격 디버깅만으로
충분히 동작 분석은 쉽게 할 수 있습니다. 특히 cgdb 와 조합해서
반(半) 소스 레벨 디버깅 수준으로 할 수 있어서 더 편하죠.
커널소스중에서 SELINUX쪽으로 보시면,
커널소스중에서 SELINUX쪽으로 보시면, 어떨까요?
보안관련된부분들이 이외로 프로그램실행시에 커널에 일어나는일에 대한 것들이니깐요...
The die is cast!
https://kldp.org/node/128467
https://kldp.org/node/128467
커널뿐만 아니라 우선 개발 환경을 편하게 세팅 해놓고
커널뿐만 아니라 우선 개발 환경을 편하게 세팅 해놓고 하시는게 우선일겁니다. 그런데 모듈을 테스트 하신다면 그 해당 모듈만 컴파일 해서 테스트 해볼수가 있습니다. 가장 좋은것은 각 커널 파트별로 구분을 해놓고 간단한 테스트 프로그램을 하나 만드는 프로젝을 해보시는건 어떨까 생각해봅니다.
커널이 좀 어렵고 복잡하고 왜 이럴까 하는 생각도 많이 들지만 공부해나갈수록 참 멋지게 잘 만들어 놓았다 하는 생각에 감탄하게 될겁니다.
댓글 달기