Easy_Keygen

 

 

 Serial5B134977135E7D13일 때의 Name을 찾는 것이 문제이다.

 

 

 F7 F8을 누르다 보면 name을 입력 받는 부분을 찾을 수 있다. 그 곳에 BP를 건 후 name을 입력한다.

 

 

 그러면 입력한 값이 들어가는 것을 확인할 수 있다.

 

 

 그 아래에는 루프가 있다. 루프를 살펴보았다.

 

 

 

위의 두 MOV 명령을 통해서 ECX에는 10, EDX에는 73이 들어간다. 그리고 ECX EDXxor한 결과가 ECX에 들어간다.

 

 

 그렇게 루프를 한 번 돌면 위에서 계산한 63이라는 값이 저장된다.

 

  

그 다음에는 ECX에는 20, EDX에는 75가 들어간다. 그리고 xor한 값 5563 뒤에 붙어서 6355가 저장된다.

 

  

 루프는 총 5번을 돌게 되고, 635552794E라는 값이 저장된다.

 

 

 그리고 이 것이 serial이 된다.

 

 

 serial이 만들어지는 방법은 다음과 같다.

 

 

 subinHex 값인 73, 75, 62, 69, 6E를 각각 10, 20, 30, 10, 20 xor한다. 그리고 그 값을 연결한 것이 최종 serial이 된다.

 

 

 5B134977135E7D13 name도 각각 10, 20, 30xor한 후, Hex 코드를 ASCII로 변환하면 알 수 있다. xor을 진행하면 4B337967336E6D33이라는 결과가 나온다. 이것을 바꾸면 K3yg3nm3 된다.

 

728x90

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

picoCTF 2018 learn gdb  (0) 2020.06.25
CTFLearn PIN  (0) 2020.06.25
reversing.kr Easy_CrackMe  (0) 2020.06.25
CodeEngn(코드엔진) advance 04  (0) 2020.06.25
CodeEngn(코드엔진) advance 03  (0) 2020.06.25