본문 바로가기

[CodeEngn] Basic RCE L09 - 보고서 본문

wargame/CodeEngn

[CodeEngn] Basic RCE L09 - 보고서

Seongjun_You 2022. 3. 26. 17:09

StolenByte를 구해야 한다.

이번에도 UPX로 패킹되어 있는 프로그램이다.

 

esp트릭으로 언패킹을 진행하는 과정까지 쫓아간다.

근데 3개의 이상한 값을 스택에 넣고 있다.

그리고 oep로 진입을 한다.

 

oep로 진입한 후 push 0을 진행하고 MessageBoxA를 호출한다.

하지만 해당 함수는 인자 값이 4개가 필요하지만 oep이전에 push를 하고 들어온다.

이것이 문제점이다.

이상태로 언패킹을 진행할 시 오류가 발생한다.

'

oep위에 푸시 값들을 복사해서 넣어 준다.

 

그 후 oep를 401000으로 설정 후 dump를 뜨고 iat를 설정해준다.

오류 없이 프로그램이 실행된다.

 

 

 즉 stolen byte는 이 녀석이다.

 

 

------------------------------------------------------------------------------------------

문제는 여기서 끝이지만 해당 프로그램을 크랙 해보기로 했다.

 

프로그램 실행 시 이런 문구가 나온다.

 

디버거로 살펴본 결과 CreateFileA로 파일이 있는지 확인하는 것 같았다.

abex.l2c라는 파일을 만들어주었다.

그 후 파일의 문자열 길이를 검사를 하기에 아무 문자 0x12만큼 넣어 주었다.

그랬더니 성공 문자가 나온다.

 

Comments