F.R.I.D.A.Y.

OpenSecureLab#1_Release.exe 본문

리버싱/Olly

OpenSecureLab#1_Release.exe

F.R.I.D.A.Y. 2018. 9. 26. 11:00
반응형

콘솔 프로그램의 패스워드를 찾는 리버싱인듯 하다.


 쭉 돌아보면 [9139B]에서 main을 콜한다.

 

 이후에 값을 입력하게 되면

 이 위치에서 문자열의 길이를 판단한다. 14개의 문자를 입력하면 기본적으로

 [Sure ! Nice]가 나오고 프로그램이 종료된다. 단, 종료 코드는 -8이 나오므로 정상적인 패스워드는 아니라는 소리다. fake를 넣어서 이것으로 리버싱이 끝났다고 착각하도록 만들고 있다.


 F8을 눌러 [910DB]까지 내려오게 되면 여기서부터 데이터를 체크한다.

cmp byte ptr ss: [ebp-N[각주:1]], N[각주:2]

 에서 뒤에 숫자를 ASCII 변환을 해보면 다음과 같다.

 즉, 이 프로그램의 패스워드는

R3versE_is_FuN

 이다.


 이렇게 찾은 패스워드를 입력하면 프로그램은 다음과 같이 작동한다.

 


 리버싱을 하며 생긴 의문점 하나는 다음이다.

 [91000]으로 진입하게 되면 분명히 [91000]에서 [91055]부분으로 이어지게 되는데 그 과정에서 데이터 영역이 있다. 그래서 [91055]를 호출하는 부분을 찾아보고자 BP를 걸어서 한단계씩 코드를 시행하게 되면 코드상 문제가 발생한다. 그렇다고 F9로 코드를 실행하면 바로 [91055]로 넘어가게 되는 원인을 모르겠다.



  1. 14, 13, 12, 11, 10, ... [본문으로]
  2. 52, 33, 76, ... [본문으로]
728x90
반응형

'리버싱 > Olly' 카테고리의 다른 글

crackme2.exe  (0) 2018.09.15
리버싱 - crackme1.exe  (0) 2018.09.13
리버싱 - abexcm1(실습).exe  (0) 2018.09.13
Ollydbg 기본 단축키  (0) 2018.09.13
Comments