
ReadMe 파일부터 확장자가 없다. 알맞게 실행되게 수정하라한다.

아무것도 안했는데 EXE corrupted 가 뜬다. DIE 로 열어보면, UPX 패킹되어있다고 한다.
upx.exe -d 으로 간편하게 언팩한 다음 열어보자. (아이다로)

CRC 체크하는 부분이다. 언패킹한 파일 0x448265 쯤에 bp 걸어서, 플래그 조작해 점프

이렇게 뜬다.

언패킹해서 실행하면 오류가 뜬다는 것을 까먹었다.
문제파일을 다시 다운받고 실행해보자


패킹된 후 , EXE currupt 가 출력되는 조건문 함수를 디버깅하면 이곳에서 걸린다.
v23 != v11 ^0xAAAAAAAA 이어서 LABEL_25 (0 이 아닌값을 리턴) 으로 가서 currpt 가 걸린다.

checksum 값을 계산한 값과 ebp-0x10 에 있는 값을 비교한다.

ebp-0x10 에 있는 값은 마지막 4바이트이다

마지막 4바이트를 수정해주면 된다!.


근데 이 부분에서 다시 걸려서 종료된다.



윗부분인 fseek 에서 문제가 발생한다. fseek 두번째 인자에 파일크기를 넘는값을 줘서
read 에서 못읽는 것이다.


fseek 로 0x32800 에 파일포인터를 옮겨놔야 값을 가져와서 제대로 비교를 하므로,
0x32800 으로 하드코딩해주자.

스택에서 인자를 수정해주면 된다.. 그리고 실행하면

정상적으로 실행된다 ㅜㅜ
구글링해서 찾으면 된다. 왕좌의게임에 나오는 인물인가보다.