Reversing.Kr
This site tests your ability to Cracking & Reverse Code Engineering. Now Challenge a problem for each environment. (Windows, Linux, .Net, Flash, Java, Python, Mobile..) Admin E-Mail: gogil@reversing.kr
reversing.kr
해당 사이트에서 여러 유형들의 예제 프로그램을 다운로드해 분석할 수 있습니다.
여기서 세 번째 문제인 Easy Unpack 프로그램을 가져와서 실습을 진행해 봤습니다.
파일에 첨부된 readme 파일부터 읽어봅니다. OEP를 찾으라네요.
OEP는 패킹된 프로그램의 실행되는 실제 시작점입니다.
그렇다면, 아마 패킹이 되어있을 거예요.
패킹이 되어있는 것을 확인할 수 있습니다.
파일을 ollydbg로 불러오면 코드가 망가졌다는 창이 뜹니다.
ollydbg 자체적으로 분석할 건지 물어봅니다. 일단 아니요를 눌러줍니다.
프로그램 시작 지점부터 난해합니다.
책에서 UPX 언 패킹 과정을 따라 한 적이 있는데 크게
PUSHAD ~
POPAD ~
JMP OEP ~
구문으로 압축 해제가 이루어지고 점프 구문으로 OEP로 이동했었습니다
그 느낌을 살려서 디버깅 진행하다 보니 어디론가 점프하는 구문을 만났고 따라가보니
Define Double word 발견! ctrl + a로 Analysing 해주면
정상적인 OEP 코드가 나옵니다.
+ 이런 단순한 파일은 PEID 자체적으로 지원해 주는 플러그인으로도 충분히 OEP를 찾을 수 있습니다..
'Security > Application' 카테고리의 다른 글
reversing.kr Music Player 풀이 (1) | 2025.02.16 |
---|---|
reversing.kr - Keygen 풀이 (1) | 2025.02.15 |
reversing.kr - Crack 풀이 (0) | 2025.02.15 |
지뢰 찾기 게임을 이용한 ReadProcessMemory / WriteProcessMemory 사용 (0) | 2025.02.15 |