728x90
  • Basic RCE L12

 

예제에 주어진 파일을 다운받아 압축을 풀어 실행하면 아래와 같은 창이 하나 뜬다.

abcd 를 넣고 check를 눌러도 어떤 변화가 나타나지 않았다. 옆에 about을 누르니 옳은 키를 찾아서 넣어달라는 문구가 적혀 있었다.

 

ollydbg 로 파일을 열어 성공 메세지가 뜨는 곳을 찾아보도록 하자. 성공 메세지가 뜨는 문구를 찾았다. 이 메세지 출력부분 근처에 입력값과 올바른 키을 비교하는 부분이 있을거다. 차례차례 읽던 도중에 CMP EAX, 7A2896BF 가 있는게 눈에 띈다. EAX 값과 7A2896BF을 비교하는 것 같은데 뭔가 이 7A2896BF가 키 값인 것 같다.

 

 

7A2896BF 값을 넣어 봤는데 KEY를 찾아다는 메세지가 뜨지 않는다...혹시 다시 10진수(=2049480383)로 계산해서 넣으니까 성공!

 

 

 

이제 키 값은 얻었으니 문제에서 설명한대로 키 값과 주소 영역을 더한 값이 FLAG 값이다. 주소 영역을 찾기 위해서 HXD를 이용했다. 성공 메세지가 뜨는 부분을 찾아서 성공메세지 대신 KEY 값이 출력 되도록 오버라이트 하면 된다.

 

키값 2049480383에 널 값까지 포함해서 0x0D3B ~ 0x0D45 영역이 된다!!

 

 

다 더하면 20494803830D3B0D45 이 된다!! 넣어주면 문제 해결

 

https://ch.codeengn.com/

 

CodeEngn.com [코드엔진]

코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.

ch.codeengn.com

 

+ Recent posts