ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Static Link
    Hack/Pwnable 2016. 3. 7. 23:25

    컴파일할때, 아무 옵션을 주지않고 컴파일을하게되면 Dynamic link로 컴파일이된다. 이럴때 라이브러리가 파일외부에 존재하기때문에 프로그램은 GOT와 PLT로, 함수를 직접호출하지않고 함수의 주소를 타고들어가서 가져오게된다. 하지만 다른방법이있다.





    이렇게 static옵션을 주게되면 바이너리는 static link의 속성을 가지게된다. 이렇게되면 라이브러리가 내부에존재해 따로 실제 함수의 주소 즉 GOT를 참조하지않게된다. 하지만, static link로 컴파일할시에, 바이너리의 크기가 커지는 단점이 존재한다.


    실제로 아이다로 열어보았을때의 모습이다.





    GOT와 PLT섹션이 따로존재하지않고 함수를 따라가 분석할수있게된다.





    malloc함수의 내부인데 PLT로 가지않고 실제로 이런모습이존재한다 정말 분석하기싫은 코드..


    암튼 그렇다 (문제낼때 써먹어야지 ㅎㅎ)

    'Hack > Pwnable' 카테고리의 다른 글

    Pwnable.kr dos4fun  (0) 2016.05.09
    16bit Debugging/ 16bit Dynamic Debugging  (0) 2016.05.09
    ARM Exploit  (0) 2016.01.11
    Embedded Firmware Bug Hunting  (0) 2016.01.05
    Mac mprotect  (0) 2015.12.07

    댓글

Designed by Tistory.