티스토리 뷰

CodeEngn Basic RCE의 15번 문제입니다.






Name값이 CodeEngn일때의 Serial을 구하는 문제입니다.


프로그램을 다운로드 받아보겠습니다.






'15.exe'라는 이름의 파일입니다.


실행시켜보면..






Name값으로 CodeEngn을, Serial값으로 1을 주었더니 실패 문자열이 출력되었습니다.


먼저 PEID로 패킹이 되어있는지 살펴보겠습니다.






패킹은 되어있지 않습니다.


그렇다면 바로 올리디버거로 보겠습니다.





성공 문자열 바로 위에 성공과 실패를 가르는 조건문이 있습니다.


EAX값과 45B844 주소의 저장된 4byte만큼의 값을 비교하는군요.


비교문인 458831에 BP를 걸고 실행시켜보겠습니다.






Name값으로는 CodeEngn을, Serial값으로는 1을 입력하고 체크하겠습니다.






458831에서 멈추고






EAX에는 1이 저장되었습니다.


이로써 EAX는 우리가 입력한 Serial이라는 것이고 45B844 주소의 저장된 4byte만큼의 값이 올바른 Serial이라는 것을 알 수 있습니다.


45B844 주소로 Follow in Dump를 이용해서 가보겠습니다.






4byte만큼의 값이므로 00006160 즉 6160입니다.


하지만 인증을 해보니 실패합니다.


그래서 10진수로 바꿔서 인증했더니..






코드엔진 사이트에도 인증을 해보겠습니다.








댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함