1. main() 함수 찾기
F7 명령으로 한 줄씩 내려오다보면 또 402524주소의 어떤 함수를 호출한다.(빨간색 표시) F7로 들어가보자
402524 함수는 main()가 아닐것이다. 왜냐하면 MessageBox() API 호출 코드가 보이지 않기 때문이다. 다시 Ctrl+F9으로 함수탈출을 하자
지금부터 쭉 F7로 한 줄씩 실행하며 함수를 호출할 경우 들어가보고 main()인지 판단하고 아니면 다시 나가는 패턴을 계속해보자
계속 내려가다보면 4010E4 주소의 CALL <JMP.&KERNEL32.GetCommandLineW> 명령이 보인다. 이 명령어는 Win32 API 호출코드이다. 지금 단계에서는 따라 들어갈 필요가 없으니 넘어간다.
계속 실행하다 보면 401144 주소에 CALL HelloWor.00401000 명령이 있다. 여기를 실행해보자
MessageBoxW() API를 호출하는 코드가 있다. 그리고 그 파라미터로 "www.reversecore.com"과 "Hello World!" 문자열이 있다는게 확인된다. 이는 HelloWorld.cpp의 소스코드의 내용과 일치한다. 따라서 401000 함수가 바로 main() 함수이다.
'TIL(사전캠프)' 카테고리의 다른 글
1. 리액티브 시스템과 리액티브 프로그래밍 (2024-06-25) (0) | 2024.06.25 |
---|---|
리액티브 시스템 (2024-06-24) (0) | 2024.06.24 |
SQL 코드카타. 개와 고양이는 몇 마리 있을까(2024-06-20) (0) | 2024.06.20 |
리버싱1. 13 ~ 20(2024-06-20) (0) | 2024.06.20 |
유용한 함수들(Java) (2024-06-19) (0) | 2024.06.19 |