[CodeEngn Basic] Level.12
프로그램 출처 : http://codeengn.com/
위 사이트 Challenges -> Start에서 해당 레벨의 파일을 다운받습니다.
Chrome은 위험 사이트로 인지해서 다운사이트를 막아버리더군요..
저는 Explorer로 다운받았습니다.
파일을 다운받습니다.
다운받는 곳에 가면 수행과제가 적혀있습니다.
Korean :
Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다
이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음
0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
문제 : Key값과 + 주소영역을 찾으시오
Ex) 7777777????????
English :
You will see a success message after finding the key.
If you would want the Key itself to replace the success message in the MessageBox,
open up a Hex Editor and overwrite the key value in the offset range 0x???? ~ 0x????.
Q : find the key value and the offset range and write the solution in this format : key????????
(first ???? for the start and the next 4 ?s for the end).
아무 값이나 넣고 Check를 눌러도 반응이 없네요
올리디버거로 분석해죠
시작 부분 바로 아래에 위와 같은 코드가 있습니다.
(저는 Search for → All referenced text strings에서 키값으로 추정되는 부분을 찾았더니 저 부분이더군요)
GetDlgItemInt 함수로 우리가 입력하는 값을 정수형으로 받아오는걸 확인할 수 있습니다.
그리고 조금 아래에 가보시면 루프를 돌면서 키 값으로 추정(?)되는 문자열을 가지고 열심히 작업하는
00401073주소의 함수를 확인할 수 있습니다.
함수 내부는
문자열을 답으로 수정한 후에 구간을 구하시면 됩니다.
답에서 요구하는 구간은 null값을 포함한 구간입니다.
0D38 ~ 0D4x
'WarGame > CodeEngn.com' 카테고리의 다른 글
[CodeEngn Basic] Level.14 (0) | 2016.08.08 |
---|---|
[CodeEngn Basic] Level.13 (0) | 2016.08.06 |
[CodeEngn Basic] Level.08 (0) | 2016.08.05 |
[CodeEngn Basic] Level.07 (abex' 5th crackme) (0) | 2016.08.05 |
[CodeEngn Basic] Level.06 (Ra0r Crackme #1) (0) | 2016.08.05 |