SWUFORCE/[malware] wargame
[CodeEngn] Basic 04
7alswn
2022. 11. 23. 17:16
문제는 다음과 같다.
프로그램을 실행시켜보니 텀을 두고 '정상'이라는 글자가 출력되는 것을 볼 수 있었다.
올리디버거를 사용하여 실행시켜보니 '디버깅 당함'이라는 글자가 출력되었다.
디버거 프로그램을 탐지하는 함수를 찾는 문제인 것 같다.
파일을 열고 하나씩 실행시켜보니, 0040100 줄을 넘길 때 '디버깅 당함' 글자를 출력하는 것을 발견했다. 따라서 0040100 줄로 들어갔더니 sleep, IsDebuggerPresent 함수를 발견했다. sleep 1000ms를 보아 앞서 언급한 텀은 1초인 걸 알았고, IsDebuggerPresent 함수가 디버거를 탐지하는 함수인 것 같았다.
실제로 해당 함수를 실행시키니 EAX 값이 1로 바뀌는 것을 확인했다. 즉, 해당 문제의 답은 IsDebuggerPresent임을 알아냈다.