상세 컨텐츠

본문 제목

[Write-up] Abex-crackme 5

Reversing Write-Up/01.Abex's crackme

by RACC8N 2020. 1. 15. 16:19

본문

실행파일을 실행시킨 모습이다.

 

디버거를 실행시켜서 해당 문자열을 검색해 보자.

 

다음과 같이 찾을 수 있었고, 해당 위치로 가보겠다.

 

lstrcmpiA함수로 Serial과 비교하는 것 같다. 

 

아무것도 입력하지 않았기 때문에 Enter your serial과

 

실제 Serial같이 보이는 L2C-57816784-ABEX을 비교하여 같을경우 well Done 메세지를 띄울 수 있다.

 

그럼 Serial 코드는 어떻게 만들어 지는지 알아보자.

 

눈에 띄는 함수 GetVolumeInformationA함수가 있다.

 

이 함수의 2번째 인자에는 Volume의 이름이 들어가는걸 알 수 있다.

 

그럼 C드라이브의 이름을 바꿔보자.

 

이름을 AAAA로 바꿨다.

 

GetvolumeInformationA함수가 끝나고 40225C를 확인하니 AAAA가 들어있었다. 

 

그 다음에 있는 함수는 AAAA와 4562-ABEX를 인자로 받아 strcat해주는 함수이다.

 

strcat으로 인해 AAAA4562-ABEX가 됐음을 확인할 수 있다.

 

그 후 그 밑에 연산으로 앞에서부터 4번째 까지 0x1를 두 번씩 더해주는 것을 알 수 있다.

 

연산결과 AAAA4562-ABEX는 CCCC4562-ABEX가 되었고,

 

밑에 strcat함수로 인해 L2C-5781과 CCCC4562-ABEX가 합쳐져 Serial은 L2C-5781CCCC4562-ABEX가 됨을 알 수 있다.

 

Volume 이름에 따라서 Serial 값이 바뀌는 것 을 알 수 있다.

'Reversing Write-Up > 01.Abex's crackme' 카테고리의 다른 글

[Write-up] Abex-crackme 4  (0) 2020.01.15
[Write-up] Abex-crackme 3  (0) 2020.01.15
[Write-up] Abex-crackme 2  (0) 2020.01.14
[Write-up] Abex-crackme 1  (0) 2020.01.14

관련글 더보기

댓글 영역