bugku 杂项 QAQ
生活随笔
收集整理的這篇文章主要介紹了
bugku 杂项 QAQ
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 下載cipher.txt里面的內容為:
| 1 2 | FSAnRAIzNlMjPQMjNyBJNTs6NlIFPFIqDDVTJy0zGE8rKxZBJDIrJkYoPUQML1M3MDYJZTElFyI7 UzE6DTtSNxckNDw2Mxk9Jzc= |
-
是一段base64,但是解碼以后是亂碼。
-
QAQ文件用十六進制查看器打開后發現了.py,?main?之類的關鍵詞,一看就是個pyc文件,拓展名改為pyc文件后進行反編譯。
-
用在線工具進行反編譯的話, 提示有部分代碼沒有反編譯成功, 并且在沒有反編譯成功的地方加了注釋告訴我們這個位置有沒有反編譯成功的代碼。
-
轉變方向,追求更高效的反編譯方法。
- 在網上得知了一款名為uncompyle6的工具。
- 由此反編譯得到了完整的py代碼。
- 針對這個文件寫了一個解密腳本 decode.py
| 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 | def decrypt(key, plain):cipher = ''for i in range(len(plain)):cipher += chr(ord(key[(i % len(key))]) ^ ord(plain[i]))return cipherdef getPlainText():plain = ''with open('cipher.txt') as (f):while True:line = f.readline()if line:plain += lineelse:breakreturn plain.decode('base_64')def main():key = 'LordCasser'plain = getPlainText()cipher = decrypt(key, plain)with open('plain.txt', 'w') as (f):f.write(cipher)if __name__ == '__main__':main() |
- 如果用編譯器運行該腳本的話,需要把 open(‘cipher.txt’) 這種變成 open(‘絕對路徑’)這種形式。
- 如果不是編譯器,需要保證.py腳本與腳本中用到的文件在同一路徑。如圖。
- 運行腳本得到 plain.txt,內容為:
| 1 2 3 4 | YOU ARE FOOLED THIS IS NOT THAT YOU WANT GO ON DUDE CATCH THAT STEGOSAURUS |
- 根據提示, 百度搜了搜那個STEGOSAURUS…結果…
-
劍龍…???
-
應該不會是讓我們去抓住那個劍龍…
-
谷歌一番,找到了這個
- 看不太懂, 翻譯一波
- 鏈接在這。
https://bitbucket.org/jherron/stegosaurus/src/default/
不行的話下載這個
鏈接:https://pan.baidu.com/s/1GyyCDWGP3qeEyau_evtPIQ?
提取碼:x1mj?
- 所以這個應該是一種工具。搞下來以后根據用法來用。
-
欺負我Windows上只安了python2.7.15…..
-
無奈打開kali,因為我kali安python3了…
- 得到flag
| 1 | flag{fin4lly_z3r0_d34d} |
總結
以上是生活随笔為你收集整理的bugku 杂项 QAQ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的java语法基础篇刷题2
- 下一篇: Cocoa-Cocoa框架