최신목록

2018년 1월 17일 수요일

[GDB]strcpy break 가 안잡힐때(--no-builtin)

요즘 해공예(해킹 공격의 예술) 책을 보고 있다. 윈도우 개발자로 리눅스와 비교하는 재미가 쏠쏠하다. 몇번 펼쳤다가 덮기를 여러번 요즘 또 다시 보니 눈에 들어온다.

따라하다보니 shared library 함수인 strcpy에 break 를 걸었는데 책대로 되지 않았다.



break 1, 2, 3 를 차례로 찍고 실행시켰는데 break 1, 3만 걸리는걸 볼 수 있다.

소스코드를 디스어셈 해서봐도 printf는 보이는데 strcpy는 보이지 않는다.


구글신과 영접후 --no-builtin 옵션이 영향을 주고 있다는걸 알게되었다.
뭔가 간단한 함수들은 빌트인되어있는 내부 함수가 잇는것인듯...


break 잘 잡히네요. 디스어셈해서 봐도 strcpy가 잘 보이네요


이제야 좀 대화가 되는 바이너리가 됬군요...
근데 이게 컴파일러가 이렇게 빌트인된걸로 마음대로 컴파일 하면 나중에 디버깅할때 애좀 먹겠네요. 그래도 뭐 해커가 리버싱하는건 어려울수도 있고...뭐...익숙해지면 괸찮을라나요~

참고로 프로세스 뒤에 파라미터를 추가하려면
run 할때 뒤에 붙여주면 됨.
(gdb)run arg1 arg2

댓글 없음:

댓글 쓰기