본문 바로가기

Reversing

[Reversing.kr] Position

Position

 

 

ReadMe.txt 파일을 먼저 보니 시리얼 키를 알려주고, 플래그가 4글자 + p로 끝나는 걸 알려줌

 

 

exe 파일을 실행해보니 이렇게 뜬다. keygen 문제

 

 

디컴파일 뷰를 확인해보았다.

(Name[1] >> 2 & 1) + 1 + (Name[0] & 1) + 5)와 Serial[0] 값을 비교하여 같으면 됨

 

 

파이썬 코드를 작성해보았다.

name = ['x', 'x', 'x', ord('p')]

ans = [7, 6, 8, 7, 6, 7, 7, 7, 7, 6]

for i in range(ord('a'), ord('z')+1):
    for j in range(ord('a'), ord('z')+1):
        for k in range(ord('a'), ord('z')+1):
            if i!=j and j!=k and k!=i:
                name[0] = i
                name[1] = j
                name[2] = k

                tmp_ans = [0 for i in range(10)]

                tmp_ans[0] = ((name[1]>>2)&1)+1 + ((name[0]>>0)&1)+5
                tmp_ans[1] = ((name[1]>>3)&1)+1 + ((name[0]>>3)&1)+5
                tmp_ans[2] = ((name[1]>>4)&1)+1 + ((name[0]>>1)&1)+5
                tmp_ans[3] = ((name[1]>>0)&1)+1 + ((name[0]>>2)&1)+5
                tmp_ans[4] = ((name[1]>>1)&1)+1 + ((name[0]>>4)&1)+5

                tmp_ans[5] = ((name[3]>>2)&1)+1 + ((name[2]>>0)&1)+5
                tmp_ans[6] = ((name[3]>>3)&1)+1 + ((name[2]>>3)&1)+5
                tmp_ans[7] = ((name[3]>>4)&1)+1 + ((name[2]>>1)&1)+5
                tmp_ans[8] = ((name[3]>>0)&1)+1 + ((name[2]>>2)&1)+5
                tmp_ans[9] = ((name[3]>>1)&1)+1 + ((name[2]>>4)&1)+5


                #print(tmp_ans)
                if ans==tmp_ans:
                    for ch in name:
                        print(chr(ch), end="")
                    print()

 

아무래도 bump가 플래그일 듯!!

 

 

bump

'Reversing' 카테고리의 다른 글

[Reversing.kr] Flash Encrypt  (0) 2023.05.28
[Reversing.kr] Music Player  (0) 2023.05.28
[Reversing.kr] ImagePrc  (0) 2023.05.28
[Reversing.kr] Easy Keygen  (1) 2023.05.28
[Reversing.kr] Easy Unpack  (0) 2023.05.28