우선 Serial이 틀릴 경우 메시지를 출력하는지 알아보기 위해, 한번 시도해본다.
All referenced Strings로, 저 문자열을 찾는다. 가장 아래쪽에 있었다.
저 주소로 가보면, 위의 JNE 문이 메시지의 분기점이 되는 것을 알 수 있다.
JNE에 breakpoint를 건 후 실행 시, 비교되는 값 중 하나가 정답이 된다.
심심해서 만들어 본 Keygen이다.
부디 인증키 확인 후 돌려보길 바란다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #-*- coding: utf-8 -*- def encode(id): result = 0 for i in range(len(id)): result = result + (ord(id[i]) << 3) result = result + (len(id) << 3) result = result << 2 return result print('Serial is %d\n' % encode(raw_input('Input Name: '))) | cs |
'[Wargame Write-up] > CodeEngn Challenges' 카테고리의 다른 글
[CodeEngn Challenges] Basic RCE 17 (데이터 주의...) (0) | 2016.08.30 |
---|---|
[CodeEngn Challenges] Basic RCE 16 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 14 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 13 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 12 (0) | 2016.08.29 |