Tuuna Computer Science

[Reversing.kr] Easy_Crackme! 비밀번호찾기(find password) 본문

Reversing

[Reversing.kr] Easy_Crackme! 비밀번호찾기(find password)

GuTTe 2018. 4. 12. 23:42

[Reversing.kr ] Easy_Crackme! 비밀번호찾기(find password)








Reversing.kr에서 받을 수 있는 초심 리버서 문제풀이용중 하나이다. 








프로그램을 실행 시키면 일정값을 집어넣어야 하는 구간이 생긴다. 






만일 값이 틀린다면 Inccorrect Password 라는 문구가 뜨게된다.




이제 본격적으로 이 프로그램의 비밀번호를 찾아보자! 








Ollydbg로 바이너리를 분석해본다. 




(IDA Pro는 그래프를보여주기때문에 매우 편리하다....)
(하지만 아직 익숙하지 않으므로 패스...) 






일단 먼저 serchfor string해서 문자열을 찾아보자 




cingratulation이 보인다. 이 문자열이 있는 주소로 이동해보장 





일단 cmp분기점이 있는 구간을 위주로 보기 쉽게 브리이크를 걸어보았다.



ㅎㅎ 나중에 풀어야한다. 








일단 위로 올라가면 GetDigItemTextA라는 입력받는 API를 볼 수 있다.






일단 위의 CMP를 보면 [ESP+5]와 61(아스키 코드로 a)와 비교하고 있다. 







스택구조를 한번 보자. 



처음 이값을 입력했을 때 ESP+5위치의 입력한 a와 비교한다.





F8을 눌러 다음으로 진행해보자 





[ESP+A]자리에 5Y를 비교하고 있다.  








계속 디버깅을 진행해보자



[ESP+10]위치에서 R3versing과 비교하고 있다.  




또 디버깅을 계속해보자.....









마지막에 [ESP+4]위치에서 45(E)와 비교하고 있다.




즉, 정리해보면 




[ESP+4] = E [ESP+5] = a [ESP+A] = 5y [ESP+10] = R3versing








정답은 Ea5yReversing이다! 






PS.  IAD Pro로 HEX-RAY하면 바로 답을 찾을 수 있다.....





Comments