# 2026 AIS3 EOF Final A & D - 都 2026 了誰還在 PTT 推文啊?
## Description
都 2026 了誰還在 ~~PPT~~ PTT 推文啊?
Docs: https://hackmd.io/@naup96321/Sk2FOHcI-l
Dist file: https://drive.google.com/file/d/13vhsZVQCJBV28BQcJhZWkuiwwQ5kfSsF/view?usp=sharing
執行 `./load.sh && ./init.sh`
## 服務
A&D Gamebox: 10.102.x.2 ,x = 1 ~ 16 (你的隊伍編號); 17為NPC
## Score
(以下計分方式大概在中午會確定最終版,**並非最終的版本**)
- 攻擊與防禦題目的分數由兩種事件決定:
- 成功取得並提交旗標(Flag)
- 服務掛掉(SLA 檢查失敗或部署修補程式)
- 每支隊伍有兩把 flag,每把 flag 是 17 分
- 若 flag 未被其他隊伍偷走可以獲得完整的 flag 分
- 若 flag 被其他隊伍偷走則自己 0 分,該把 flag 17 分由偷走該把 flag 的所有隊伍均分 17 分
- SLA 分數為 34 分,通過 SLA 則自己拿到 34 分,若 failed 則 0 分,若並非所有隊伍都同時通過或同時失敗 SLA, 則「通過 SLA 的隊伍」可獲得
- $\frac{34 \times M}{N}$
- 失敗 SLA 隊伍數 $M$
- 成功 SLA 隊伍數 $N$
- 部署修補程式(Patch deploy)視同該輪 SLA 失敗
- 每個服務、每個回合的計分都是彼此獨立
## Patch
需同時上傳 `eofptt.pyc` (pyc 服務的 patch) 和 `genshin` (binary 的 patch)
上傳 patch 會經過兩個階段 patch check、SLA check
若 patch check 無法通過會使用原來的檔案
若 patch check 通過會將檔案在下一輪跑起來,SLA check 會在 run 的時候隨時進行 check,可能會發生你上傳 patch sla check 無法通過的狀況
pyc patch 有以下限制:
- pyc file size 限制原來的 pyc size ± 1024 bytes
- pyc 須保持原來所有可以與他的互動功能
genshin patch 有以下限制
- binary file size 需要與原來的一樣大
- patch bytes 的數量不可超過 200 個 bytes
- 只能 patch .text 段的地方
- binary 須保持原來所有可以與他的互動功能
其他隊伍的 patch 會在部署的該輪釋出給所有隊伍分析 (因為這題不是很好 patch 建議各位可以嘗試對 patch 做手腳)
## pcap
攻擊流量 IP 將被去識別化
N+5 回合後釋出第 N 輪的 pcap
任何人都可以下載