todo: Find the OEP
- OEP: Orignal Entry Point
1. EP 확인
- 현재 EP: 0040A04B
2. 동적분석
EP부터 쭉 실행해보며 jmp, call 명령어 부분을 유심히 볼 것
- 처음 만난 jmp 명령어. OEP로 점프하는 것 같지는 않음. 패스
- GetProcAddress(), VirtualProtect() Call. 패커가 주로 사용하는 함수. 넘김
- 그 아래에 있는 LoadLivraryA() Call도 넘김
- byte단위로 무언가 비교하고 있음. dll 이름인 듯
- 여기 jmp 명령어 탈출, 그 아래 GetProcAddress()도 넘김
- 비교 후 결과에 따라 루프가 진행되고 있는 부분
- 아래 jmp문 2개 존재하며, `40A1D1`은 루프의 첫부분으로 점프
- `401150` 은 루프종료 후 점프하는 주소로, 지금까지 확인된 `40A---` 주소랑은 다른 영역으로 추정됨
- PEView로 섹션헤더 확인
- .text 영역의 VirtualAddress(RVA)가 00001000이다.
- `401150` 주소로 점프
- 여기서 느낌이왔다. 쭉 내리다보면 `401219` 주소에서 프로그램이 실행됨을 확인 가능
여기까지의 과정을 통해 OEP가 401150이라고 추측함. 근데 맞게한건지 잘 모르겠다. 다른 사람의 풀이도 확인해봐야 할 듯
※ OEP 찾기 편법: https://hansu1512.tistory.com/3
'보안 > 리버싱' 카테고리의 다른 글
reversing.kr - Easy Keygen (0) | 2024.08.26 |
---|---|
reversing.kr - Easy ELF (0) | 2024.08.26 |
x64 assembly basic (0) | 2022.07.10 |
Dreamhack Quiz: x86 Assembly 2 (0) | 2022.07.10 |
86 Assembly: Essential Part(1) quiz (0) | 2022.07.08 |