Reversing/Code Engine
Code Engine Basic 9
IT_Try
2018. 11. 17. 12:49
StolenByte를 구하라는 것이 이번 문제입니다. StolenByte는 훔친 바이트라는 뜻입니다. 프로그램의 한 부분의 코드를 훔쳐내어 다른 부분으로 옮겨진 코드를 말합니다. 우선 파일을 실행해 봅시다.
키 파일을 못 찾았다고 나옵니다. 올리디버그로 파일을 열어보겠습니다.
일단 OEP를 찾아봅시다. 코드를 쭉 살펴보며 마지막 JNP를 해서 간 0040100C가 OEP일수 있습니다.
00407387에 오른쪽 마우스 -> Follow를 눌러 들어갑니다.
코드들을 보게 되면
아까 보았던 'Click OK to check for the keyfile' 문구 가 보아지 않습니다.
Well done, Error MassageBox도 다 있는데 프로그램 실행을 하자마자 처음 뜨는 이 박스는 코드 내에서 보이지 않습니다.
이 문자열을 찾기 위해서
오른쪽 마우스 -> Search for -> All referenced text strings를 클릭합니다.
코드를 살펴보면 아까는 보지 못했던 “Click Ok to...”라고 OEP에 없던 문자열이 나옵니다. 더블클릭해서 문자열 안으로 들어가 봅시다.
이 문구는 OEP부분에는 없었기 때문에 StolenByte일 것입니다.
위에 6A 00은 혼동을 주기 위해서 있는 것 같습니다. 그럼 StolenByte의 값은 6A0068002040006812204000입니다.