Wargame & CTF/CodeEngn 4

[CodeEngn]Basic RCE L04 문제 풀이

문제 풀이 파일을 실행하면 '정상'이라는 문구가 계속 출력 ollydbg로 파일 실행 -> F9로 실행하면 '디버깅 당함'이라는 문구가 출력 F8로 진행을 하다보니 문구가 나오는 구간을 발견 CALL 0040100F 이 곳에 브레이크 포인트를 걸고 F7로 들어가 보았다. F8로 실행 CALL 00408190 실행하면 문구가 출력됨 근처 코드를 보면 수상한 함수를 발견 -> IsDebuggerPresent 이 함수에 브레이크 포인트 함수 실행 전 함수 실행 후 -> EAX 값이 0에서 1로 변경 그대로 실행 -> EAX가 0으로 변경되며 '디버깅 당함' 문구를 출력 EAX 값을 1에서 0으로 변경 F8로 실행 -> '정상' 문구를 출력

[CodeEngn]Basic RCE L01 문제 풀이

문제 풀이 이 문제는 crackme 1번 문제와 흡사하다. 하지만 이 문제의 경우 GetDriveTypeA를 이용해야 한다. GetDriveTypepA의 반환값은 아래의 사진과 같다. 즉, 우리는 반환값으로 5를 가져야 한다. 문제가 풀렸지만 파일을 좀 더 살펴보도록 하자. 이제 파일을 실행해보자. ollydbg로 파일을 열어보자. 실행을 하다보면 GetDriveTypeA 함수를 지나고나서 EAX 값이 3으로 지정되어 있는 것을 볼 수 있다. 그래서 저 함수를 실행하자마자 EAX의 값을 5로 설정해주고 실행을 하였다. JE 전에 EAX와 ESI를 비교하는데 둘은 3으로 값이 똑같다. 정상적으로 실행이 되는 것을 확인할 수 있다. 이는 윈도우7에서 진행하였다. 윈도우10에서 올리디버거로 실행을 할 때는 E..