tmxklab

[CodeEngn] Basic RCE L10 본문

War Game/CodeEngn

[CodeEngn] Basic RCE L10

tmxk4221 2021. 1. 28. 13:15

1. 문제

1) 문제확인

Name이나 Serial에 입력하고 싶은데 안써진다...

오옹 이번엔 Aspack으로 패킹되어 있따. 일일히 패커를 찾아서 다운받고 실행하기 귀찮으니 VMUnpacker를 다운받아서 언패킹하자

VMUnpacker는 300개가 넘는 패커들을 풀어낼 수 있는 언패킹 툴이다.

실행시켜 파일을 올리면 알아서 ASPack이라고 잡아주며 지원되는 것을 확인할 수 있다. 이제 Unpack버튼을 눌러 언패킹해주자


2. 접근방법

OEP와 "등록성공"으로 가는 분기점의 OPCODE를 구해야 한다.

OEP는 ida에서 start함수를 따라가거나 아니면 x32dbg에서 F9를 눌렀을 때 처음으로 멈춘 부분의 주소 값을 구하면 될 것이다.

OPCODE는 먼저 "등록성공"과 관련된 문자열을 통해 로직을 살펴봐야 할 것 같다.


3. 문제풀이

1) OEP 찾기

  • OEP : 0x00445834

2) OPcode 찾기

  • 문자열 검색 중 "Registered ... well done!"이라는 문자열이 보인다.

  • 따라가보자

  • 문자열이 사용되는 부분을 확인해보면 분기되는 부분을 확인할 수 있다.
  • OPCODE : 0x7555

이제 OEP랑 OPCODE랑 합쳐서 제출하면된다.


4. 몰랐던 개념

'War Game > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L12  (0) 2021.01.28
[CodeEngn] Basic RCE L11  (0) 2021.01.28
[CodeEngn] Basic RCE L09  (0) 2021.01.28
[CodeEngn] Basic RCE L08  (0) 2021.01.28
[CodeEngn] Basic RCE L07  (0) 2021.01.28
Comments