Iriton's log
[CodeEngn] Basic RCE - L06 본문
Unpack을 한 후 Serial을 찾으시오.
정답인증은 OEP + Serial
Ex) 00400000PASSWORD
풀이
언패킹을 한 후 시리얼을 찾으라고 하니
뭘로 패킹되어 있는지 확인해 봤다.
UPX 패킹이다.
cmd - upx.exe -d 06.exe 명령어로 언패킹해준 뒤
올리디버거로 열어봤다.
프로그램을 실행해 봤을 때 시리얼값이 틀리면 Wrong Serial! 이란 창을 띄웠다.
그걸 띄우는 코드로 이동하기 위해
[Search for - All referenced text strings]를 이용했다.
텍스트가 많긴 한데 맨 위쪽에 떴다.
Good job과 You got it 이 궁금해서 더블클릭 해 봤다.
역시 여기서 시리얼 값을 찾으면 된다.
임의의 값인 1234를 시리얼 창에 기입하고 한줄씩 실행하다 보니
GetDigItemTextA 함수를 통해 1234가 떴다.
아스키코드 호출 뒤에 나온 함수로 아스키 코드 두 개를 비교하는 것으로 유추된다.
(함수 내부에 진입하여 확인하려고 했지만 점프문이 복잡해서 실패했다.)
OEP와 serial 값을 합친 00401360AD46DFS547 값을 입력하니 문제가 풀렸다.
'Reversing > Wargame' 카테고리의 다른 글
[CodeEngn] Basic RCE - L09 (1) | 2023.11.21 |
---|---|
[CodeEngn] Basic RCE - L08 (1) | 2023.11.15 |
[CodeEngn] Basic RCE - L05 (1) | 2023.11.15 |
[CodeEngn] Basic RCE - L04 (0) | 2023.11.14 |
[CodeEngn] Basic RCE - L02 (0) | 2023.11.14 |
Comments