제가 리버싱은 잘 못해서 해석이 매끄럽지 못합니다...


저는 x86dbg를 사용했습니다. Ollydbg랑 매우 유사합니다.


해당 파일을 다운로드 받으시면 간단한 프로그램이 하나 나오게 됩니다.



"Click!"버튼을 눌러도 아무런 응답이 없습니다.


어쨌든 알맞은 값을 입력해야 해결이 될꺼라 생각합니다.



우선 모든 문제를 풀었을때 "Congratulation!"이라는 문구와 함께 해결된 것을 알기에


문자열 찾기를 통해서 다음 문자열을 찾을 수 있었습니다.



문자열을 찾으셨으면 우클릭으로 해당 어셈코드로 이동해서 분석을 시작하면 될 것 같습니다.



사실 지금 눈으로 봐도 답이 보이긴 합니다.. ^^


분석을 시작해보면 "Congratulation!"이라는 문자열이 나오게 하려면


[0045033D] 부분에 jne 를 통과해야 합니다. ( jne 비교하는 문자열이 같지 않으면 점프 )

입력한 값과 프로그램 내부에서 설정된 값이 동일해야 이 jne 문을 통과해 답이 해결되는 것 같습니다.



임의의 문자열 "1234"를 입력하고 진행해 보겠습니다.


[0045032A] 부분의 함수안에서는 사용자가 입력한 값을 불러오는 역할을 수행했습니다.



실질적으로 비교하는 함수는 [00450338] 에서 수행하므로 함수 내부로 진입해봅니다. ( F7은 내부로 이동, F8은 함수 내부x )



내부로 들어가 보시면 eax에는 입력한 값 "1234"가 들어있고 edx에는 프로그램에서 설정한 값인 "913465"가 있습니다.

이 두값을 비교해 같으면 [004046A]로 점프하여 진행되고 값이 같으니 함수밖을 나가서 점프문이 실행되지 않고 넘어가게 됩니다.



해당 키 값을 인증 페이지에서 인증하시면 됩니다.


간단한 리버싱 문제였습니다... 아직 리버싱에 익숙하지 않아서 매끄럽지 못하네요 ㅜ.

'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_10 [BINARY]  (0) 2018.09.08
SuNiNaTaS_4 [WEB]  (0) 2018.09.07
SuNiNaTaS_7 [WEB]  (0) 2018.09.07
SuNiNaTaS_21 [FORENSIC]  (0) 2018.09.06
SuNiNaTaS_15 [FORENSIC]  (0) 2018.09.06

+ Recent posts