본문 바로가기

[CodeEngn] Basic RCE L15 보고서 본문

wargame/CodeEngn

[CodeEngn] Basic RCE L15 보고서

Seongjun_You 2022. 11. 8. 02:29

L14번과 비슷한 문제이다.

아이디 패스워드를 맞추는 프로그램이다.

 

 

델파이로 작성된 프로그램이다.

 

먼저 분기문을 찾아주었다.

 

 

EAX와 0x45B844의 데이터를 비교한다. 0x45B844에는 0x6160의 데이터가 들어가있다.

0x407774에 비밀번호를 설정하는 루틴이 존재하는것을 알 수 있다.

ret값을 0x6160으로 만들어주면 된다.

 

 

비밀번호를 설정하는 핵심 코드이다.

해당 부분을 파이썬 코드로 만들어 브루트포싱으로 비밀번호를 찾아준다.

 

for b in range(0,10):
    for i in range(0,10):
        for j in range(0,10):
            for k in range(0,10):
                for m in range(0,10):
                    temp = b
                    temp = temp + temp * 4
                    temp = temp + temp
                    temp = temp + i
                    temp = temp + temp * 4
                    temp = temp + temp
                    temp = temp + j
                    temp = temp + temp * 4
                    temp = temp + temp
                    temp = temp + k
                    temp = temp + temp * 4
                    temp = temp + temp
                    temp = temp + m
                    if temp == 0x6160:
                        print(b,i,j,k,m)

출력값이 2 4 9 2 8이 나온다.

 

 

 

성공한 문자열이 나온다.

'wargame > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L17 보고서  (1) 2022.11.18
[CodeEngn] Basic RCE L16 보고서  (0) 2022.11.09
[CodeEngn] Basic RCE L14 보고서  (0) 2022.10.25
[CodeEngn] Basic RCE L13 보고서  (0) 2022.05.14
[CodeEngn] Basic RCE L12 보고서  (0) 2022.03.29
Comments