我不得不解密以base-16編碼的問題。解密後的文本是python代碼。我把代碼放到一個文件中,但是當我運行它時,問題說這是代碼中不存在的行上的語法錯誤。語法中的Python問題,但代碼中不存在的問題文本
下面是代碼 http://pastebin.com/Cm6kHG3j
謝謝!
我不得不解密以base-16編碼的問題。解密後的文本是python代碼。我把代碼放到一個文件中,但是當我運行它時,問題說這是代碼中不存在的行上的語法錯誤。語法中的Python問題,但代碼中不存在的問題文本
下面是代碼 http://pastebin.com/Cm6kHG3j
謝謝!
你解密結果進一步降低到一系列嵌套exec
語句,其中最後產生如下:
flag = 'easyctf{python_3x3c_exec_3xec_ex3c}'
priint flag
正如你所看到的,是在priint
額外i
,從而導致錯誤。
它是如何向您展示priint標誌,它並未出現在我使用的任何編輯器中 – roberthayek
這就是您在任何編輯器中都無法看到的「加密」這是'exec'作爲代碼字符串執行'ascii'字符的結果。 – davedwards
我知道由於某種原因,我無法運行它,因爲priint標誌錯誤,但在代碼中我找不到錯誤 – roberthayek
如果你有興趣在如何解密它。
temp = ""
def clean(string):
string = string.replace("chr(","").replace("exec(","").replace(")","").split("+")
string = [chr(int(item)) for item in string]
return "".join(string)
fileStr = ""
with open("storage.txt", "r") as fi:
fileStr = fi.read()
while (input("Keep going (-1 to exit, 1 to continue)? ") != -1):
fileStr = clean(fileStr)
print fileStr
這裏的結果:
flag = 'easyctf{python_3x3c_exec_3xec_ex3c}'
priint flag
有兩個i的打印功能。
你好,歡迎來到StackOverflow!請避免將文件附加到文本文檔中,只需將代碼複製並粘貼到您的問題中,然後按下代碼格式化按鈕[{}'。我們可以更好地閱讀您的代碼並幫助您。謝謝! – davedwards
該代碼太長,超過200行 – roberthayek