짱짱해커가 되고 싶은 나

[Easy Keygen] writeup 본문

reversing/reversing.kr

[Easy Keygen] writeup

동로시 2020. 11. 8. 20:22

파일을 실행시켜보니 이름 입력받고 시리얼을 입력받고 종료된다.

 

readme 텍스트에는 시리얼 번호가 5B134977135E7D13일 때의 이름을 찾으면 된다고 한다.

 

IDA로 분석해보자.

보니까 v9에다가 이름을 입력하고 이걸 가지고 v13에 시리얼 번호를 만들어서 저장한다.

그리고 시리얼 번호를 v9에 입력하고 이름으로 만들어진 시리얼 번호랑 같은지 확인하고 같으면 정답을 출력한다.

 

xor은 역연산이 같으니까 시리얼 넘버를 넣어서 하면 될 것 같다.

 

v6에는 16이 들어가 있다. 16 == 0x10

그리고 i=3이후부터는 i=0이 되니까 3의 배수일 때는 그냥 v6.

그러면 v6+i가 될 수 있는 값은 v6+0 v6+1 v6+2의 반복일 것으로 추측된다.

아! 노우!!! &v6!! v6+1은 v7인데 v7에는 32, v6+2의 주소는 v8 48이다.

그리고 앞부분은 그냥 입력했던 이름 한자리씩.

 

올리디버거로 실제 들어가는 값을 확인해보자.

이 부분이 앞서 IDA로 확인했던 시리얼 번호를 만드는 과정이다.

보니까 1씩 더하는게 아니라 10씩이다. 0x10 0x20 0x30

 

 

 

ex.py

exploit 파일을 실행시키면 name이 출력된다~

 

 

이렇게 하나씩 확인해도 K3yg3nm3 ~

 

이 이름이 맞나 확인하려 했는데 파일이 너무 빨리 꺼져서 결과가 안보여서.. cmd창에서 실행시켰다 ㅋㅋ

 

'reversing > reversing.kr' 카테고리의 다른 글

[replace] write up  (0) 2020.11.29
[Music Player] write up  (0) 2020.11.22
[Easy UnpackMe] write up  (0) 2020.11.14
Comments