따라하다보니 shared library 함수인 strcpy에 break 를 걸었는데 책대로 되지 않았다.
break 1, 2, 3 를 차례로 찍고 실행시켰는데 break 1, 3만 걸리는걸 볼 수 있다.
소스코드를 디스어셈 해서봐도 printf는 보이는데 strcpy는 보이지 않는다.
구글신과 영접후 --no-builtin 옵션이 영향을 주고 있다는걸 알게되었다.
뭔가 간단한 함수들은 빌트인되어있는 내부 함수가 잇는것인듯...
break 잘 잡히네요. 디스어셈해서 봐도 strcpy가 잘 보이네요
이제야 좀 대화가 되는 바이너리가 됬군요...
근데 이게 컴파일러가 이렇게 빌트인된걸로 마음대로 컴파일 하면 나중에 디버깅할때 애좀 먹겠네요. 그래도 뭐 해커가 리버싱하는건 어려울수도 있고...뭐...익숙해지면 괸찮을라나요~
참고로 프로세스 뒤에 파라미터를 추가하려면
run 할때 뒤에 붙여주면 됨.
(gdb)run arg1 arg2
댓글 없음:
댓글 쓰기