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