- 목표
- 심볼을 사용하여 main() 함수 찾기
- 개발환경
운영체제: Windows 10 Pro(x64)
개발Tool: Visual Studio 2019
분석 도구: CFF Explorer
디버거: IDA Freeware 7.0, Version 7.0.191002 Windows x64 (64-bit address size)
- 샘플코드
샘플파일: test-01
- 실행파일(빌드 옵션)
아래에 그림과 동일하게 옵션을 변경 후 컴파일 바람.
- CFF Explorer로 파일분석
기본 정보
entry point 확인
entry point 계산
실행파일에 사용된 함수목록
- IDA Pro로 분석
IDA Pro에서 entry point 찾기
Exports tab → mainCRTStartup 클릭
※ entry point는 0040 12F6이 표시되어야 되는데, 0000 0000 0040 12F6 표시된 이유는? IDA Pro 가 64Bit free 버전이기 때문이다.
키보드 스페이스 누르기
entry point 위치로 이동
.text:004012FB jmp __scrt_common_main_seh 이동
.text:004011CE jz short loc_4011E1 이동
.text:004011FC jmp short loc_401203 이동
.text:00401217 jz short loc_401234 이동
.text:0040123D jz short loc_401252 이동
main()함수 확인
.text:00401269
call main 클릭
main()함수 내부 도착
댓글 없음:
댓글 쓰기