본문 바로가기

[Wargame Write-up]/CodeEngn Challenges

[CodeEngn Challenges] Basic RCE 15



우선 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