본문 바로가기

Reversing/Simples Creckme

Simples Crackme 5

Simples Crackme 5
 - Question

  · 문제를 보고 유추해봤을 때 알맞은 Serial을 찾아서 넣는 문제로 판단된다.


  · Serial이 맞는 경우 위와 같은 성공 Message를, 맞지 않으면 위와 같은 실패 Message가 출력된다.


 - Solve

  · Code를 살펴보면 위와 같은 Code가 보인다.
  · lstrcatA lstrcmpiA가 있는 부분이 비교할 Serial을 생성하고 비교하는 구간으로 파악되며 그에 따른 결과 값으로 인해서 성공 Routine과 실패 Routine이 나타나게된다.
  · Serial 생성

  ◦ Serial 생성 및 비교를 진행하는 구간부터 살펴보면 lstrcatA 함수를 이용해 'L2C-5781'이라는 문자열을 String2 변수에 저장한다.

  ◦ 이후 결과 값을 Stack에 저장된 문자열을 PUSH 명령어로 다음 lstrcatA 함수를 이용해 String2에 저장한 값을 꺼내 'L2C-5781' 문자열 뒤에 'F"Ftive4562-ABEX' 문자열을 이어 붙여 String2 변수에 저장한다.
  · 비교

  ◦ 입력한 Serial(String2)과 'L2C-5781F"Ftive4562-ABEX'(String1)을 비교해 결과 값(0 또는 1)을 EAX에 저장한다.
  ◦ lstrcmpiA 함수는 비교 값이 서로 같을 경우 0을 서로 다를 경우 1을 EAX에 저장한다.

  ◦ CMP 명령어로 0 EAX 값을 비교해 성공 또는 실패 Message를 출력한다.


 - Answer
  · Serial : L2C-5781F"Ftive4562-ABEX 

'Reversing > Simples Creckme' 카테고리의 다른 글

Simples Crackme 7  (0) 2015.08.16
Simples Crackme 6  (0) 2015.08.16
Simples Crackme 4  (0) 2015.08.16
​Simples Crackme 3  (0) 2015.08.16
Simples Crackme 2  (0) 2015.08.16