---
# System prepended metadata

title: 300撞數
tags: [ns107]

---

# 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)
