-
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