본문 바로가기

리버싱

[CodeEngn]코드엔진 basic RCE L12

문제: Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다
이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
문제 : Key값과 + 주소영역을 찾으시오
Ex) 7777777????????

 

일단 Key를 구해야 한다.

Ollydbg를 열어보니 이러한 함수가 보임을 확인했다.

일단 문자열을 확인한다.(Search for- ~strings)

들어가보니 정말 긴 문자열과 밑에 축하한다는 것이 보인다.

일단 축하한다는 곳으로 가본다.

맞다는 부분이 00401084이다.

이 부분으로 이동하라는 명령어가 있는지 확인해보도록 한다.

그런 명령어는 딱히 없는 듯 하다.

그럼 위를 보아야 하는데, CMP EAX, 0x7A2896BF가 있음을 확인했다.

이 둘을 비교시켜 같아야 이렇게 나옴을 알 수 있다.

EAX는 KEY를 입력했을 때의 값이다.

일단 7A2896BF를 10진수로 바꾼다.

그러면 2049480383이 나옴을 확인할 수 있다.

키를 변환한 10진수로 입력하니 '축하한다'라는 부분으로 넘어감을 확인했다.

key는 변환한 10진수이다.

 

이제 HXD를 이용해서 Hex editor를 열어주었다.

표시한 부분의 뒷부분을 수정해보도록 한다.

이렇게 수정을 해보니 0D3B가 시작점이고 0D45가 마지막임을 확인할 수 있다.

물론 44가 마지막이지만 NULL이 포함되어야 하므로 0D45인 것이다.

0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
문제 : Key값과 + 0x~?? + 0x~~? 이므로 이대로 입력해주면 된다.

 

반응형

'리버싱' 카테고리의 다른 글

[CodeEngn]코드엔진 basic RCE L09  (0) 2020.07.27
[CodeEngn]코드엔진 basic RCE L13  (0) 2020.07.26
[CodeEngn]코드엔진 basic RCE L11  (0) 2020.07.26
[CodeEngn]코드엔진 basic RCE L06  (0) 2020.07.23
[CodeEngn]코드엔진 basic RCE L08  (0) 2020.07.22