해당 실습에서는 Immunity Debugger를 기본 디버깅 툴로 사용하였으며, HxD와 7-zip은 이후 과제 풀이를 위해 함께 설치하였다
1) Immunity Debugger,
2) HxD
3) 7-zip file manager

설치를 마친 뒤, File → Open 메뉴를 통해 HelloWorld.exe 파일을 열고 디버깅을 시작하였다.

그다음으로는,
- 코드 실행을 F8(Step Over) 키로 한 줄씩 진행하면서, 실제로 프로그램의 동작을 수행하는 부분을 확인하였다.
- 004011DF CALL Hellowor.00401000 명령을 발견하였는데, 이는 CRT 초기화 루틴에서 프로그램의 main 함수(00401000)를 호출하는 부분임을 확인할 수 있었다.

00401000 주소로 이동해 내부를 확인하니,
- 사진과 같은 코드들이 나타났고, 이는 MessageBox API 호출을 통해 문자열을 출력하는 부분임을 알 수 있었다.

- 여기서 CALL USER32.MessageBoxW 직전에서 F8(Step Over)를 실행하자 실제로 "HelloWorld!"라는 문자열이 출력된 메시지박스가 화면에 나타났다.
- 따라서 OEP(Open Entry Point)에 진입한 뒤 실행을 추적하면, CRT 초기화 루틴을 거쳐 main 함수 내부에서 MessageBox를 호출해 ‘HelloWorld!’ 팝업을 띄우는 구조임을 확인할 수 있었다!
'INTERTLUDE > 리버싱 스터디' 카테고리의 다른 글
| Codeengn Basic RCE 6 (0) | 2025.09.30 |
|---|---|
| Codeengn Basic RCE 5 (0) | 2025.09.30 |
| [리버싱 스터디]_1주차 Codeengn Basic RCE 3 (0) | 2025.09.23 |
| [리버싱 스터디]_1주차 Codeengn Basic RCE 2 (0) | 2025.09.23 |
| [리버싱 스터디]_1주차 Codeengn Basic RCE 1 (0) | 2025.09.23 |