CTFコンテストにほぼ記憶に残る限り初めてと言っていいくらい真面目に時間をかけて参加した。初CTFです(初投稿ですのノリで)
FCCPCの一員として参加して4位だったので日本決勝にいけるらしい。 なんかルールで揉めた。いい順位取れると思ってなかったのでそこまで感情を動かされなかったが人のお金でアメリカ行きたい~というのはあったので少し残念。
以下簡易writeup
OSINTのかんたんな2問: グーグル画像検索とLLM
1 or 2: BH創設者がford大好きっぽいから野生の勘でred_fordとかにしたら確か通った
Gameboy Game: GBAのシミュレータを適当にダウンロードしてきてスコアを摂動させてスコアのアドレスを見つける、古き良きチート手法でスコアを弄り、終わり
Signal Sleuth: プログラミング不要。バイト列に色をつけて眺める→冗長なビット列ぽいのが見えてくる→1が3連続で現れない符号化方式について調べるとマンチェスタ符号(※)→マンチェスタ符号とみなしてデコード (※天才フェーズはすべてぽにょがやった)
Rolling Thunder: 最後1byteを除き、眺める(※) とわかるので256通り提出を試す (※天才フェーズはすべてぽにょがやった)
Want a password: Windowsの時刻を弄りマクロツールで1秒毎に生成。その中のものを総当りで試すと解ける。
Car Game: リバースエンジニアリングツール不要。プロセスメモリエディタ必要。スコアをいじるとCHEATER認定されるので駄目、代わりにGameboy Gameと同じ要領でHPを無限にするチートして、してスコアが1337超えるまで実時間かけて放置するとvalidなフラグが出てくる。
Power: ここではじめてリバースエンジニアリングした。システムコール周りとそのあとの挙動を眺めると長さ8のファイル、特に名前がflag.pngのファイルに対して何かしていることがわかるのでひたすらgdb使って1ピクセルずつ特定していくと解ける。ちゃんと高速化とかしないと数日かかる可能性があり1ピクセル特定する毎にgdbを再起動していたやつをちゃんと1回の起動で全部特定するように高速化した(※pngにするみたいな部分はぽにょが俺が諦めてた部分を突破してすべて考察を終えていた、すごいね)