본문 바로가기

WARGAME/Noe.systems

[Noe.systems] Easy keygen [Reversing]

이런 프로그램이 나온다


Easy Keygen


Problem:

'2A4542735D5F4D3B71774F7026'에 해당하는 시리얼 키를 가진 닉네임을 구하여라!


Auth format:

※ 인증키: 주어진 시리얼 키에 해당하는 닉네임


첨에 문제를 잘못 이해해서 저 헥스값이 닉네임일 때 시리얼 구하는줄 알고 그렇게 구했다가 노답이였다

문제는 저게 시리얼이 되는 키값을 구하는건데


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
result = ""
result += chr(0x2A)
result += chr(0x45)
result += chr(0x42 - 2)
result += chr(0x73)
result += chr(0x5D - 4)
result += chr(0x5F)
result += chr(0x4D - 2)
result += chr(0x3B - 8)
 
result += chr(0x71 + 8)
result += chr(0x77 - 16)
result += chr(0x4F - 10)
 
result += chr(0x70 - 2)
result += chr(0x26 + 4)
 
print result
cs


우선 소스는 더럽지만 한글자씩 파워게싱했다

일단 시리얼 키는 내가 입력한 닉네임의 2배가되는데

26자리로 봐서 13자리를 입력해아한다는걸 알 수 있다


왜 13자리냐면 만약 A를 13넣으면

414143454549474D49514B554D

이 값과 저 시리얼 키를 비교하는데

4141는 내가 입력한 A를 16진수 아스키화 한 값이다

이렇게해서 나는 게싱을 시작했다.

그러면 저 위에 값처럼 + - 를 적당히 쓰까서 풀 수 있다.


NOE{*E@sY_K3ygEn*}

대충 몇자리 맞추다보니깐 이지 키젠인걸 알 수 있다.