# 300撞數 ###### tags: `ns107` 組別:阿福快打 ## 解題思路 助教的檔案下載下來是一個有加密的rar檔案,而且檔名是兩個數字的相加,題目名稱又叫做300撞數,因此合理懷疑是Password利用兩個數字的相加。 再嘗試過後發現思路正確,因此利用這方式下去執行。 ## 解題環境 - MacOS - Python - 有unrar的shell指令 ## 解題開始 首先先把需要的格式放好。 >![](https://i.imgur.com/USM9rwn.png) >將rar和code分開之後下指令會比較方便 再來程式是用python不斷呼叫shell指令編寫而成的 ```python import os while True: try: ls = os.popen('ls rar') file = ls.read().rstrip() #去除ls後面的\n換行符號 c = file.replace('.rar','').split('+') sum = int(c[0])+int(c[1]) #相加該檔案的兩個值 unrar = 'unrar e rar/{} -p{} rar'.format(file, sum) os.popen(unrar) rm_oldFile = 'rm rar/{}'.format(file) #刪除舊的rar os.popen(rm_oldFile) except : #只要有錯誤就表示可以停止了 break ``` 最後等待出現錯誤 ![](https://i.imgur.com/S84jf8u.png) 是一個名為"1.rar"的檔案輸入1的Password就看到EENS flag啦~ ![](https://i.imgur.com/7xvv3XS.png)