우선, Stolenbyte는 패커가 위치를 이동시킨, 보호된 프로그램의 코드로 정의할 수 있다. 처음 열게 되면 이렇게 나온다. 저 앞 쪽 DB들에 Ctrl+A(Analysis Code)를 가해 보자.
이렇게 NOP 코드로 바뀌게 된다. 이 프로그램은 UPX 패킹되어 있어서, 우선 코드의 마지막 위치로 가보겠다.
POPAD를 한 후, PUSH 3번을 한 다음 OEP로 보냄을 확인할 수 있다. 즉, Stolenbyte는 저 PUSH 3개의 OPCODE가 되겠다.
언팩을 마저 하자면, 현재 Entry Point인 40100C로 가서, Ctrl+E를 눌러 첫 NOP부터 Stolenbyte를 적어 내려가면 된다.
401000을 New Origin으로 설정하고 실행해보자.
오류 없이 실행되는 것을 볼 수 있다. 여기서 인증키(Auth key)를 획득했다.
마저 진행해보자면, key file로서 abex.l2c라는 파일이 있어야 한다. 그리고 파일 크기가 0x12(18) byte인지 확인하고, 별도의 문자열 체크 같은 것은 하지 않는다.
조건에 맞게 key file을 만들고, 확인해 보자.
'[Wargame Write-up] > CodeEngn Challenges' 카테고리의 다른 글
[CodeEngn Challenges] Basic RCE 11 (0) | 2016.08.29 |
---|---|
[CodeEngn Challenges] Basic RCE 10 (0) | 2016.08.29 |
[CodeEngn Challenges] Basic RCE 08 (0) | 2016.08.29 |
[CodeEngn Challenges] Basic RCE 07 (0) | 2016.08.29 |
[CodeEngn Challenges] Basic RCE 06 (0) | 2016.08.29 |