ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CodeEngn Basic RCE 4
    $ 리버싱 $/CodeEngn Basic RCE 2019. 3. 27. 00:40


    해당 문제는 디버거 프로그램을 탐지하는 기능을 가지고 잇다고 합니다.
     
    디버거가 아닌 일반적으로 프로그램을 실행하면 디버거로 실행 한게아니기 때문에
    정상이라고 출력됩니다.
    그렇다면 디버거에서 올리디버거 에서 실행해보겠습니다.
     
     
    이렇게 디버깅 당함 이라고 출력이 됩니다.
     
    디버거를 탐지하는 함수를 한번 찾아보겠습니다.
    Search for -> all intermodular calls 통해서 확인해 보면 다음과 같습니다.
     
    IsDebuggerPresent 라는 함수가 있네요
     
    40105E으로 가겠습니다.
     
    EAX 보면 디버거로
     
    EAX 1이면 다음과 같이 출력이 되는 같습니다.
     
    그렇다면 EAX 0 되도록 바꿔 보면
    다음과 같이 바꿀수 있습니다.
     
    그리고 실행을 해보면
    정상이 나오게 됩니다.
     
    IsDebuggerPresent 함수는 디버거를 이용하면 EAX값에 1 디버거를 사용하지 않으면 EAX값에 0 반환하는 함수 입니다.
     

    '$ 리버싱 $ > CodeEngn Basic RCE' 카테고리의 다른 글

    CodeEngn Basic RCE 6  (0) 2019.03.27
    CodeEngn Basic RCE 5  (0) 2019.03.27
    CodeEngn Basic RCE 3  (0) 2019.03.27
    CodeEngn Basic RCE 2  (0) 2019.03.27
    CodeEngn Basic RCE 1  (0) 2019.03.27

    댓글

Designed by Tistory.