HackChang

[CodeEngn] Basic RCE L10 문제 풀이 본문

W4RG4M3/R3V3RS1NG

[CodeEngn] Basic RCE L10 문제 풀이

HackChang 2019. 11. 20. 00:07

L10 문제

OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오.
정답인증은 OEP + OPCODE
EX) 00400000EB03

 

프로그램을 실행하면 이와같이 나온다.

OEP를 구한다는 것은 패킹을 한다는 것으로 생각하면 될 것 같다.

PEID를 통해 열어보았다.

ASPack으로 패킹이 된 것을 볼 수 있다.

ASPack의 경우 OEP를 알아내는 방법은 다음과 같다.

검색을 통해 POPAD를 검색하여 

POPAD가 있는 부분을 찾아 BP를 걸고, F9를 누르게 되면

00445834라는 OEP를 찾을 수 있게 된다. RETN부분에 BP를 한번더 걸고 F9로 실행 후 F8을 눌러 OEP(00445834)에 도달한다.

 

이게 정말 OEP인가 하겠지만 Ctrl+A 를 통해 코드를 다시 읽고, 스트링을 검색해본다.

성공메세지가 출력되는 곳을 들어가본다.

해당 점프문이 등록성공으로 가는 분기점이므로 OPCODE를 구할 수 있다.

OEP+OPCODE를 통해 정답을 인증한다.

Comments