Basic RCE L15

HelloMG
|2020. 3. 30. 21:47

 

L15 문제

문제를 보니 앞의 L14 문제와 동일하네요 :D

EP

Ollydbg로 열어보니 특별히 다른 건 없어 보입니다!

 

그래서 문자열 검색 기능을 이용해 의심가는 부분을 찾아보았습니다 :D

분기점

"Cracked"과 "Try Again!"이 보입니다!

주소 458831의 비교문으로 주소 458837의 점프문으로 인해 분기가 나뉘어집니다 :D

 

그럼 458831에 BP를 걸어두고 실행을 시켜보았습니다!

프로그램

프로그램이 하나 실행이 됩니다!

 

Name과 Serial이 존재하는데 문제에서 Name이 "CodeEngn"일 때

Serial이 무엇인지를 알아내라고 했으니

Name에는 "CodeEngn"을 넣고

Serial에는 임의의 숫자를 넣어주도록 하겠습니다 :D

조건

예상대로 BP에서 걸립니다 :D

 

조건문을 보면 EAX와 DS:[0045B844]와 비교를 하고 있습니다!

밑에서 보니 친절하게 DS:[0045B844]는 6160이라는 것을 보여주고 있네요 :D

 

그래도 한번 확인해보도록 합시다!

45B844

역시 메모리주소 45B844에 6160의 값이 들어있습니다 :D

메모리 상에는 리틀엔디언 방식으로 들어가기 때문에 거꾸로 읽으셔야합니다 ㅎㅎㅎ

C

그럼 EAX의 정체는 무엇일까요 ?

 

제가 12를 입력했는데 EAX에는 C로 담겼습니다 ㅎㅎㅎ

즉, 제가 입력한 Serial값이 16진수로 변환된다는 것을 알 수 있겠죠!

 

그럼 답을 알 수 있겠죠 :D

24,928

6160을 10진수로 바꾸면 24928이 됩니다!

hack!!

이제 Serial에 넣어주도록 합시다!

crack!!!

역시나 예상대로 16진수로 변환되어 6160으로 들어갑니다 :D

성공!

계속해서 실행하니 크랙이 되었다고 하네용 :D

 

앞의 문제와 동일한 방식으로 풀면되는 문제네요!

그럼 이만 문제풀이를 마치겠습니다 :D

'CTF > CodeEngn.kr' 카테고리의 다른 글

Basic RCE L17  (0) 2020.04.01
Basic RCE L16  (0) 2020.03.31
Basic RCE L14  (0) 2020.03.28
Basic RCE L13  (0) 2020.03.22
Basic RCE L12  (0) 2020.02.28