상세 컨텐츠

본문 제목

CodeEngn Basic RCE L09

REVERSING/Reversing Study

by koharin 2021. 5. 23. 00:10

본문

728x90
반응형

StolenByte를 구하시오 Ex) 75156A0068352040


StolenByte란

Packer가 이동시킨 코드의 윗부분을 의미한다.

언패킹을 해도 정상 실행되지 않는다.

정상 실행하려면 이동시킨 코드를 제자리로 돌려놓고 IAT를 복구하면 된다.

UPX로 패킹된 파일의 경우 POPAD 이후 JMP 전 코드들을 의미한다.

 

PE 파일 정보 확인

UPX Packer로 패킹된 PE 파일임을 알 수 있다.

 

패킹된 PE파일을 디스어셈블 했을 때, POPAD 이후부터가 stolen byte이다.

stolenbyte는 OEP로 점프 전 push되므로, push되는 3바이트가 stolenbyte에 해당한다.

6A0068002040006812204000

 

upx로 언패킹을 한다.

 

x32dbg를 이용해서 F9로 EntryPoint를 찾아서 F7로 실행시기면 처음에 MessageBox를 띄운다.

정상 실행되지 않는 것 같아 보인다.

 

 

언패킹된 PE 파일의 EntryPoint로 이동해보면 12바이트가 stolenbyte로 원래 코드가 밀린 것을 확인할 수 있다.

 

정답은 stolenbyte인 6A0068002040006812204000로 인증시 Success!가 뜬다.

728x90
반응형

관련글 더보기