본문 바로가기

WARGAME/Root-Me

PE - RunPE

이 문제는 다른 문제에비해 푼사람이 많아 도전해봤는데 음 왜그런지 알거같다.

RunPE는 윈도우용으로 널리 사용되는 패킹 기술이라는데


실행하면 이렇게 나온다.


UPX 섹션이 보이기도하고 UPX같아서 UPX 언패킹을 했더니 잘 되지 않았다.

디버거로 열어보면


음 보면 알겠지만 다른게 없다 정해진 것만 있는데

upx 언패킹 하는 소스도 안보이고 음 조금 난감했다.

덤프떠보고 이것저것해봤는데


관련 자료에 RunPE라는 글이 있다

대충 내용이 readprocessmemory함수로 내용을 읽고 PE파일을 writeprocessmemory함수로 버퍼에 쓴다는거같다.


해당 함수에 브레이크 포인트를 걸고 실행한다음


스택을 보고

버퍼의 주소를 덤프해보자

덤프창에 새로운 PE가 있음을 확인할 수 있다.


내려보면 여러섹션들도 보이고 다른 PE파일이다 이걸 이제 덤프 떠서

실행해보면 아무것도 안나온다.


이 파일일 디버깅해보자

스트링을 보면 이런게 있는데 처음에 뭔지 몰랐지만 strcmp가 보였다.

바로 브포를 걸고 실행해보니


해당 문자열이 이렇게 바뀌는걸 봤다.

암호화 되어있던 것이다.


저 부분이 복호화되니 저부분에 push를 위에 비교하는 문자열로 바꿔주면

복호화를 거치면서 문자열을 확인할 수 있다.


이렇게 말이다.


사람들이 유독 많이 푼 이유는 아마 저 관련 자료 때문인거같다




'WARGAME > Root-Me' 카테고리의 다른 글

PE - AutoPE  (0) 2017.01.18
ELF - ARM  (0) 2017.01.16
PDF - Javascript  (0) 2016.12.05
ELF - KeygenMe  (0) 2016.12.02
ELF - Random Crackme  (0) 2016.11.29