※ 작년에 작성한 라이트업입니다. ※
Basic RCE L09
StolenByte를 구하시오 Ex) 75156A0068352040
stolenbyte란? 프로그램의 한 부분의 코드가 다른 부분으로 옮겨진 것, 정상적으로 프로그램이 동작되지 않음, 패킹된 프로그램에서 볼 수 있음
1. 09.exe 파일을 패킹된 채로 실행한 창과 언패킹을 진행한 후 실행을 해보면 언패킹을 한 후에 뜨는 창은 오류가 나는 것을 확인할 수 있다. Strolenbyte란 패커가 이동시킨 코드의 윗부분(보통 OEP로부터 몇 개의 명령어)로, 이 경우 언패킹을 할 시에도 정상 실행이 되지 않는다. 처음에 뜨는 창이 정상적으로 실행되지 않으므로 이 부분이 stolenbyte라는 것을 짐작할 수 있다.
2. 언패킹을 진행한 실행 파일을 올리 디버거로 열어 보았다. 이때 처음 시작 부분은 00401000이고, 이 값을 기억해둔다.
3. 패킹된 파일을 올리 디버거로 연다. Ctrl+g를 누르고 아까 기억해 두었던 00401000주소로 이동한다.
4. F2로 breakpoint를 걸고 실행을 해보면 우측에 텍스트들이 나타난다.
5. 우클릭->Search for->All referenced text strings를 클릭하면 아래에 stolenbyte로 추정되는 부분이 나타난다.
6. “abex’s 3rd crackme”와 “click OK to check for the keyfile”, 그리고 그 위의 PUSH0까지가 stolenbyte이다. 따라서 6A0068002040006812204000이 정답이 된다.
'CTF > 리버싱' 카테고리의 다른 글
CodeEngn(코드엔진) basic 11 (0) | 2020.06.25 |
---|---|
CodeEngn(코드엔진) basic 10 (0) | 2020.06.25 |
CodeEngn(코드엔진) basic 08 (0) | 2020.06.25 |
CodeEngn(코드엔진) basic 07 (0) | 2020.06.25 |
CodeEngn(코드엔진) basic 06 (0) | 2020.06.25 |