ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • lvl 04
    Wargame/CodeEngn Basic RCE 2018. 12. 11. 00:33

    문제



    이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가 





    풀이


    → 프로그램을 실행한다. 정상을 확인한다.






    → 디버깅을 탐지한다고 하니 일단 IDA로 Attach 시도한다.


    → 디버깅 당한다고 나타난다. 따라서, 프로그램 내부에 디버깅을 탐지하는 함수가 존재하여, 이 결과에 따라 상태문구를 출력하는 로직으로 추측된다.





    → 디스어셈블한다. _main_0 함수를 살펴보면 "IsDebuggerPresent" 함수라는 함수에 의해 디버깅을 탐지하고 있으며, 디버거가 탐지되면 왼쪽분기가 실행되며, 디버거가 탐지되지 않는다면, 오른쪽 분기가 실행된다.





    → 따라서, 디버깅을 탐지하는 함수의 이름은 "IsDebuggerPresent"이고, 이를 우회하려면 바이너리 패치를 통해 분기우회를 시도하면 된다.


    'Wargame > CodeEngn Basic RCE' 카테고리의 다른 글

    lvl 06  (0) 2018.12.11
    lvl 05  (0) 2018.12.11
    lvl 03  (0) 2018.12.10
    lvl 02  (0) 2018.12.09
    lvl 01  (0) 2018.12.09

    댓글

Designed by Tistory.