본문으로 바로가기

reversing.kr / Easy Keygen

category Wargame/reversing.kr 2020. 1. 12. 05:39

시리얼이 5B134977135E7D13일 때 이름을 찾으면 된다.

main을 살펴보면 입력받은 이름으로 시리얼을 생성하는 로직을 볼 수 있다.

 

  p = 0;
  for ( i = 0; p < (signed int)strlen(name); ++i )
  {
    if ( i >= 3 )
      i = 0;
    sprintf(serialaS02xserialname[p++] ^ key[i]);
  }

 

xor key는 길이 3으로 [0x10, 0x20, 0x30] 이다.

5B134977135E7D13을 hex decode 해 주고 xor하면 키를 얻을 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
import binascii
 
serial = '5B134977135E7D13'
name = ''
key = [0x100x200x30]
= 0
 
for c in binascii.unhexlify(serial) :
    name += chr(int(c)^key[i%3])
    i += 1
 
print(name)

 

K3yg3nm3

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

reversing.kr / Easy Unpack  (0) 2020.01.12
reversing.kr / Easy Crack  (0) 2020.01.10