Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

kaka09

Reversing.kr Easy_UnpackMe Write up 본문

Reversing

Reversing.kr Easy_UnpackMe Write up

kaka09 2017. 11. 2. 02:19


[사진]3-1


파일을 실행하였더니 흰 바탕만 있는 창이 나타난다. 패킹이 되어서 제대로 실행이 안된건지 아님 원래 이렇게 의도한건지는 디버깅을 통해 분석 해봐야 알 것같다. Readme.txt를 읽어보면 OEP를 찾으라고 되어있다. OEP의 주소가 이번 문제의 정답이라 할 수 있겠다. 일단 해당 파일이 어떠판 패킹이 적용되었는지 파악하기 위해 PEID 라는 프로그램을 이용해 확인하였다.




[사진]3-2


PEID로 확인해본 결과 무엇으로 패킹되었는지 찾을 수 없다고 한다. 일단 OEP를 찾는 문제이니 디버깅을 해보도록 하자


[사진]3-3


패킹이 되어있기 때문에 일반적인 어셈블리어와 좀 다르다.  예전 CodeEngn 문제를 풀때 OEP는 하단에 POP AD 밑에 JMP 문을 통해 OEP로 이동하는것을 배웠다. 해당 문제는 제일 상단에 PUSH AD가 없지만 그래도 JMP문을 찾기 위해 밑으로 스크롤을 내리면서 코드를 찾아보았다.



[사진]3-4


하단 부분에 00401150 으로 이동하는 JMP문이 존재한다. 왠지 여기가 OEP 인거 같아 들어가 보기로 했다.


[사진]3-5


코드가 한글자씩 늘어져 있다. CRTL+a를 눌러 정리하면 깔끔하게 정리된다.


[사진]3-6


PUSH EBP, MOV EBP,ESP 같은 함수 프롤로그가 보인다. 여기가 실제로 프로그램이 돌아가는 코드라 생각할 수 있다.  따라서 해당 프로그램의 OEP는 00401150 라고 할 수 있다. 



 



'Reversing' 카테고리의 다른 글

Reversing.kr Imageprc write up  (0) 2017.11.10
Reversing.kr Replace Write Up  (0) 2017.11.02
Reversing.kr Easy_Keygen Write Up  (0) 2017.11.01
Reversing.kr Easy_CrackMe Write Up  (0) 2017.11.01
code engn basic 18  (0) 2017.08.03