Security/CodeEngn

CodeEngn_Basic_08

lim.dev 2018. 8. 21. 14:27

코드엔진 8번 문제 : OEP구하기


우선 주어진 프로그램을 다운받고 열어봅시다.


조그만 계산기네요. OEP를 구하랬으니 PEiD를 열어 패킹되었는지 확인해봅시다.



UPX로 패킹되어있네요! 언패킹해줍시다.



CFF에 파일을 불러온 후 언팩을 누르고 저장을하면



요롷게 언패킹한 파일이 생깁니다. 


이제 올리디버거로 언패킹한 파일을 열어봅시다.




OEP는 프로그램의 시작점이므로 답은



에서 앞의 초록부분에 있는 숫자겠네요!


이 문제는 언패킹을 하지 않고 패킹된 파일에서 OEP를 구해서 풀 수도 있습니다.


우선 언패킹된 실행파일을 올리디버거로 불러온 후 아래로 내리다보면 모든 레지스터에 값을 넣고 마지막에 실행위치로 점프시켜주는 명령문을 볼 수 있습나다.

바로 여기서 점프 뒤의 위치가 프로그램이 시작하는 위치입니다.



그럼 답을 확인해볼까요?




잘넘어가네요! 오늘도 모두 화이팅 XD!