Reversing/CodeEngn

[CodeEngn] RCE basic L04 풀이

chan2s 2025. 8. 31. 21:26

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

[그림 1] 04.exe 최초 실행

실행하면 cmd창으로 '정상' 이라는 문구가 반복적으로 출력되는 프로그램이다.

[그림 2] Ollydbg 04.exe 디버깅

문제에서 제시한 디버깅 프로그램을 감지할 수 있다고 해서 OllyDbg로 04.exe을 디버깅하면 '디버깅 당함' 문구가 출력된다.
디버거를 탐지하는 함수의 이름을 물어봤으므로, 디버거 프로그램에 존재하는 함수명을 찾아보면 될 것이다.
특정 함수명을 찾고싶다면 ollyDbg보다는 IDA 프로그램이 더 찾기 편하였다.

[그림 3] IDA Function 창

IDA로 04.exe를 로드하여 f5(decompile) 기능을 사용하면 [그림 3]과 같은 화면을 볼 수 있다.
이때 화면 좌측을 보면 Functions창에 프로그램에 사용된 함수들에 대해 정리가 잘 되어있다.
여기서 분홍색 라인으로 된 첫 함수인 IsDebuggerPresent에 대해 구글링을 했다.

[그림 4] IsDebuggerPresent 구글링 결과

'IsDebuggerPresent 함수'로 구글링의 결과,
디버거에서 호출 프로세스를 디버깅 하는지 여부를 결정하는 함수라고 한다.

 

'Reversing > CodeEngn' 카테고리의 다른 글

[CodeEngn] RCE basic L06 풀이  (3) 2025.09.01
[CodeEngn] RCE basic L05 풀이  (3) 2025.08.31
[CodeEngn] RCE basic L03 풀이  (1) 2025.08.29
[CodeEngn] RCE basic L02 풀이  (1) 2025.08.29
[CodeEngn] RCE basic L01 풀이  (1) 2025.08.29