본문 바로가기

Wargame/Reversing-W

CodeEngn advance 8

8번 문제다. 키 값이 "5D88-53B4-52A87D27-1D0D-5B09"일 때 

Name을 구하라고한다.



일단 실행시켜서 Name에 아무값이나 넣고

Key 값에 "5D88-53B4-52A87D27-1D0D-5B09"를 넣고 Check it!을 해보자



더 많이 치란다.. 저번에 그 문제처럼

그래서 올리디로 던져서 분석했다



일단 스트링 검색으로 살펴보면 Well Done! 이 보인다.

저 곳으로 이동해보자



이동해서 위로 올라가면서 살펴보면 이렇게 저번처럼

글자수 비교루틴이 있다. 저 글자수 비교 부분의 수를 좀 패치해주자



2글자라고 햇으니 2와 비교하게끔 패치했다.

이제 최소 2글자를 입력해야 프로그램이 정상적으로 동작할 것이다.



다음은 키 값을 만들어내는 루틴인데

저번이랑 그렇게 다르지않다.

하나 다르다면 이번에는 2글자를 받아오는 루틴이므로

처음 글자 + 두번째 글자 순이라는 것..?

처음글자와 두번째 글자의 조합에 맞춰서 키 값이 결정된다는 점이

저번 문제와 다르다면 다르다 할 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
edx = 0
number = 0
temp = 0
temp2 = 0
ecx = 0
eax = 0
 
for i in range(48,123):
    edx = 0
    esi = i
    esi += edx
    esi = esi * 0x772
    edx = esi
    edx *= esi
    esi = esi + edx
    esi |= esi
    esi = esi * 0x474
    esi += esi
    edx = esi
    temp = edx
    for a in range(48,123):
        esi = a
        edx = temp
        esi += edx
        esi = esi * 0x772
        edx = esi
        edx *= esi
        esi = esi + edx
        esi |= esi
        esi = esi * 0x474
        esi += esi
        edx = esi
        print hex(edx)+" "+chr(i)+chr(a)
 
for i in range(48,123):
    number = 0
    edx = i
    edx = edx + 0x11
    edx -= 0x05
    edx = edx * 0x92
    edx = edx + edx
    edx = edx * 0x819
    number = edx + number
    temp2 = number
    for a in range(48,123):
        edx = a
        number = temp2
        edx = edx + 0x11
        edx -= 0x05
        edx = edx * 0x92
        edx = edx + edx
        edx = edx * 0x819
        number = edx + number
        print hex(number)+" "+chr(i)+chr(a)
 

cs

어쨋든 조잡하게 코드를 짜서 해결했다.. 너무 조잡해서 말도 안나오지만 어쨌든..




키 값에 맞게 공통되는 문자+숫자가 있었다.



키 값에 맞게 공통되는 문자+숫자가 있었다.



그걸 인증하면 Well done!이 출력된다. 끝.


반응형

'Wargame > Reversing-W' 카테고리의 다른 글

wargame.kr easy_crackme  (0) 2017.08.01
CodeEngn advance 9  (0) 2017.07.20
CodeEngn advance 5  (0) 2017.07.20
CodeEngn basic 20  (0) 2017.07.19
CodeEngn basic 18  (0) 2017.07.19