실행파일을 실행시킨 모습이다.
디버거를 실행시켜서 해당 문자열을 검색해 보자.
다음과 같이 찾을 수 있었고, 해당 위치로 가보겠다.
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 값이 바뀌는 것 을 알 수 있다.
[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 |
댓글 영역