김민주

[CodeEngn] basic 14 본문

SWUFORCE/[malware] wargame

[CodeEngn] basic 14

7alswn 2023. 1. 10. 09:03

문제는 다음과 같다. 5개의 숫자로 되어있는 정답을 찾아야 하므로, 10진수로 변환한 값일 것임을 예측해 볼 수 있다.

PEiD 프로그램을 통해 문제에서 주어진 파일이 UPX로 패킹되어 있음을 확인했다.

따라서 UPX 툴을 사용해 언패킹한 뒤 분석을 진행했다.

우선 프로그램 성공 시 Good을 포함한 문자열을 출력할 것을 예상하여 Good을 찾아보니 다음과 같은 코드 부분 주소가 나타났다. 해당 부분 사이의 코드가 프로그램 실행에서 사용될 것임을 추측할 수 있었다.

코드 부분 사이에서 Good과 Wrong을 결정하는 분기문에 Break Point를 걸고 프로그램에 임의의 시리얼 값을 넣어보니 프로그램이 정지하는 것을 확인할 수 있었다.

해당 반복문이 끝난 뒤 ESI 값을 확인해 보니 다음과 같이 0x129A1 값을 확인했다.

해당 값인 76193을 입력하여 문제 풀이 완료

'SWUFORCE > [malware] wargame' 카테고리의 다른 글

[CodeEngn] Basic 18  (0) 2023.01.18
[ctf-d] Graphics Interchange Format  (0) 2023.01.10
[CodeEngn] basic 13  (0) 2023.01.03
[CodeEngn] Basic 11  (0) 2022.11.30
[CodeEngn] Basic 08  (0) 2022.11.30