CodeEngn basic 12
Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다
이때 성공메시지 대신 Key값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
문제 : Key값과 + 주소영역을 찾으시오
Ex) 7777777????????
간단하게 Key값을 찾으면 될 것 같다.
성공구문이 보인다. 저기로 가보겠다.
성공구문 윗부분에 분기점을 찾았다.
EAX값과 7A2896BF를 비교하는 것을 볼 수 있다.
브레이크포인트를 걸고 실행하겠다.
Key 값으로 123을 입력하겠다.
실행을 하니 EAX에 7B가 들어간 것을 볼 수 있다.
어셈블리어는 기본 16진수로 표현한다. 7B를 10진수로 하면 123이다. 내가 입력한 Key값을 EAX에 넣었고
7A2896BF와 비교하는 것을 보니 7A2896BF이 키값인 것을 알 수 있다.
7A2896BF를 10진수로 바꾸면 2049480383인 것을 알 수 있다.
이제 HexEdit로 Key값을 메시지박스에 overwrite하려면 성공구문을 Key값으로 바꾸면 된다.
그렇기 때문에 0x0D3B ~ 0x0D62까지를 다 지우고 키값을 입력하여 0x0D3B ~ 0x0D44까지 쓰면된다.
하지만 문자열을 쓰고 마지막에 null값을 써줘야 문자열의 끝을 나타내기 때문에 0x0D45까지 overwrite을 해야한다.
즉, Key값은 2049480383이고 overwrite해야하는 영역은 0x0D3B ~ 0x0D45인 것을 알 수 있다.
답 : 20494803830D3B0D45
'리버싱 > CodeEngn 문제풀이' 카테고리의 다른 글
CodeEngn basic 11번 문제 풀이 (0) | 2020.08.16 |
---|---|
CodeEngn basic 10번 문제 풀이 (0) | 2020.08.16 |
CodeEngn basic 9번 문제 풀이 (0) | 2020.08.13 |
CodeEngn basic 8번 문제 풀이 (0) | 2020.08.11 |
CodeEngn basic 7번 문제 풀이 (0) | 2020.08.10 |