---
# System prepended metadata

title: contrail ctf

---

# contrail ctf
## Misc
### Prime Number

音声にして音階を可視化すると何か出てくるかもです。
ファイル形式は[RIFF](https://ja.wikipedia.org/wiki/Resource_Interchange_File_Format)

## Rev
### DownloaderLog
 - Packet Lengthが最![](https://i.imgur.com/Ialq93u.png)
も大きいパケットから実行ファイルを抜き出す
   - これは64bitのELFファイル
 - 0x806を`0xe845000000`に書き換えると上手く動きそう
   - 第一引数に入れたファイルの中身の1文字目から10文字目(uint64_t)と`time(0)`を引数として動く関数

## Web
### Lagacy Blog
http://114.177.250.4:9999/cgi-bin/viewer.pl

cgiなので何かできそう

## crypto
### document_rescue
 - pdfファイルを対象にして暗号化
   - 元ファイルがflag.pdf
 - 暗号化した後は元ファイルとkeys.txtを削除
 - define_keys()で3行の数字と1行の文字列を入力
   - a: 1行目
   - x: 2行目
   - b: 3行目
   - modified_header_text: 4行め.encode()
 - data = b'%PDF-9.9 + modified_header_text.encode()'
   - `0x25 50 44 46 2d 39 2e 39`
 - 4バイトずつ取得
 - mod 2^32
 - (a * x + b) mod 2^32
 - `0x25504446` ^ plain = `0x12A311A9`
 - `0x2d392e39` ^ plain = `0x0e3a4cc0`
 - コードかいて

