이번 문제는 총합해서 한 하루정도 걸렸던거 같다.
StolenByte에 대해 이해하기위해서 말이다..
StolenByte를 찾으라는 문제였다.
말그대로 훔친 바이트라는 뜻인데... 음...
보아하니 패킹이 되어 있었다.
그래서 언패킹을 해보았더니
?????????????
엔트리포인트 들어오자마자 눈치를 챘을것이다...
MessageBoxA에 대한 파라미터들이 NOP로 가득채워져 있다.
나도 처음에 이 부분을 보고 갸우뚱하다가 Writeup을 본 결과 저기 있어야할 파라미터들이 어디론가 가있다는 것이였다.
그러면 패킹 전파일로 돌아가보자.
여기서 엔트리 포인트를 찾기위해..
여기에 BP를 걸고 점프를 하면
00401000이 아닌 0040100C로 이동을 하게된다.
아까본 언팩한 파일과 비교하면 NOP의 크기가 같다는 것을 알 수 있다.
그러면 이게 어딧는지 찾아본 결과..
언팩하기 전 파일의 마지막 점프구문 전에 들어있는 것을 확인하였다..
(발로 그린 타원형 그림이지만 이해하자..)
그러면 저 부분이 StolenByte인 것을 알 수 있고.
직접 저부분을
위와 같이 직접 HEX값을 넣어줘서 덤프띄워도 동작 잘한다
답은 저 HEX값을 입력하면 클리어
'Reversing > CodeEngn Basic RCE' 카테고리의 다른 글
CodeEngn Basic RCE 11 풀이 (0) | 2017.07.04 |
---|---|
CodeEngn Basic RCE 10 풀이 (0) | 2017.01.31 |
CodeEngn Basic RCE 08 풀이 (0) | 2016.11.06 |
CodeEngn Basic RCE 07 풀이 (0) | 2016.11.05 |
CodeEngn Basic RCE 06 풀이 (0) | 2016.10.13 |