[코드엔진] Basic RCE L04 풀이

비얌·2022년 3월 5일
0

어셈블리 게임

목록 보기
3/15
post-thumbnail
post-custom-banner

코드엔진 Basic RCE L04을 IDA로 분석하여 풀어보려고 한다.

문제는 다음과 같다.


실행파일을 디버거에 올리지 않고 바로 더블클릭하면 '정상'이라는 글자가 반복적으로 출력된다. 하지만 실행파일을 디버거에서 실행하면 '디버깅 당함'이라는 글자가 반복적으로 출력된다. 문제에서 말하는 '디버거 프로그램을 탐지하는 기능'에 따라서 출력되는 문자열이 다른 것을 짐작할 수 있다.




이제 프로그램을 IDA로 열어보았다. main()함수가 나오는데, 이를 더블클릭해서 안으로 들어가보았다.






IsDebuggerPresent 라는 함수가 나온다. 이 함수의 유무에 따라서 출력되는 문자열의 종류가 달라진다. 이 함수가 정답임을 유추할 수 있다.





IsDebuggerPresent를 코드엔진 홈페이지에 제출한 결과, 맞았다. 끝!

profile
🐹강화하고 싶은 기억을 기록하고 공유하자🐹
post-custom-banner

0개의 댓글