뜬금없이 정답이 뭐냐고 한다.
입력값이 하나라 그런 것 같다. Win 10 x64 환경에서 실행하면 오류가 나서 가상 머신 돌렸다.
Entry Point로부터 꽤나 내려왔는데, 별다른 의심이 가는(입력값을 비교하는) 구문이 없다.
4013C5에서 호출하는 주소의 함수가 좀 의심스러웠다.
육감은 정확했다. 한 글자씩 뽑아서 비교하고 있다. 이를 토대로 아래처럼 코딩해봤다.
ASCII 코드표를 외우고 있는 사람들이라면 바로 알겠지만, 컴퓨터의 힘을 빌리고 싶었다...
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 |
import os
def showTitle():
print "#####################################################"
print "# #"
print "# #"
print "# CodeEngn Advance 02 #"
print "# - by Sith #"
print "# #"
print "# #"
print "#####################################################"
def getPassword():
passwdHexArr = [0x43, 0x52, 0x41, 0x41, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x21]
result = ""
for i in passwdHexArr:
result += chr(i)
return result
def main():
os.system("cls")
showTitle()
print "\n" + getPassword()
if __name__ == '__main__':
main() |
cs |
Clear! (왜 이 MessageBox의 Title이 "오류"인지는 잘 모르겠다.)
'[Wargame Write-up] > CodeEngn Challenges' 카테고리의 다른 글
[CodeEngn Challenges] Advance RCE 04 (0) | 2016.09.19 |
---|---|
[CodeEngn Challenges] Advance RCE 03 (0) | 2016.09.14 |
[CodeEngn Challenges] Advance RCE 01 (0) | 2016.09.14 |
[CodeEngn Challenges] Basic RCE 20 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 19 (0) | 2016.08.30 |