Without a Break

[CodeEngn] Basic RCE L11 본문

Reversing/Wargame

[CodeEngn] Basic RCE L11

와븨 2023. 5. 9. 22:30

OEP : 패킹된 파일의 실제 프로그램 시작 부분

Stolenbyte : 패킹된 프로그램에서 코드의 일부를 OEP로 점프하기 이전에 숨기는 것

 

peid로 실행 파일을 확인해보니 upx로 패킹되어 있음을 알 수 있었다.

 

Stolenbyte부터 찾아보자.

언패킹하지 않은 파일을 열어보니 PUSHAD 명령이 있었다.

POPAD를 찾아보자.

 

명령어를 검색해 POPAD를 찾았다.

POPAD는 스택의 데이터를 채우는 명령어이므로 push한 값들이 stolenbyte임을 알 수 있다.

=> 6A0068002040006812204000

 

 

Stolenbyte를 찾았으니 이제 OEP를 찾아보자.

OEP는 패킹된 파일의 "실제 프로그램" 시작 부분이므로 실행 파일을 언패킹해준다.

 

언패킹한 실행 파일을 디버거로 실행해주면, 실제 프로그램 시작 부분이 어디인지 알 수 있다.

=> 00401000

 

답은 OEP+Stolenbyte 이므로 004010006A0068002040006812204000

'Reversing > Wargame' 카테고리의 다른 글

[CodeEngn] Basic RCE L13  (0) 2023.05.11
[CodeEngn] Basic RCE L12  (0) 2023.05.09
[CodeEngn] Basic RCE L10  (0) 2023.05.07
[CodeEngn] Basic RCE L09  (0) 2023.05.07
[CodeEngn] Basic RCE L08  (0) 2023.05.07