きれいにならなかったのか。中国人剰余定理のためにgpを呼び出しています。20187日目の記事です。Haskellゴルフのすすめ)でした。Day1の問題の公開をしました。Day1は出題側でしたが、Day3ではプレイヤーをしました。modokiだけ解きましたが、そのあと全部解きました。4日目の記事でmoratoriumさんがwriteup全部書いてくれたので、なんか書く価値がゼロではなさそうなものだけ書きます。moraprogramming.hateblo.jpRepeat642文字列の間の距離を、各位置の文字のbyteのxorの総和として定義します。最初の方から、2文字の文字列全通りのうち、それに10回base64を重ねた結果と期待される出力の間で距離が最小なものをとり、その2文字のうちの1文字目だけの方を確定させ、続きをします。rubyで書くとこんな感じです。modoki想定解とも、moratorium解法とも違うやり方をしました。これらは今回渡される情報に含まれていて、既知です。巨大なため、まともには計算できません。成立することがわかります。比較的小さいため、これは現実的に計算ができます。lM))rop4/rop1競技中は一切見なくて、終わった後に眺めたんですが、はじめのうちはなにしてほしいんだか全然わかりませんでした。いくらかして「あー、retの前に自分の好きな値1byte書き込めるのか」となりましたが、結局書き込みは使いませんでした。最終的な解答は、下です。なんかさとすさんに言われたので、スタックサイズゴルフしたあとの結果です。payloadの部分は一切無視です。Programmingというのをやります。noは15なので、syscallをする前にeaxを15にしなければならないのですが、それはreadに15byteの入力を与えてやることでできます。addrとなるsyscallのアドレスをいれつつ15byteのデータを送ることでeaxを15に調整。syscallを呼び出し、stackをexecutableに設定。sigreturnの引数のrspからのropで、シェルコードをスタック上に書き込み、ropでそのシェルコードにジャンプ。gadgetを使わない制限を置くと、基本的にread先、サイズが固定されてしまうので、サイズ256のreadに今回の240byteのデータを送りつけるのはわりとフル活用していると言えます。規定のreadサイズが100byteとかだと、payloadなしだときつそうです。駒場祭CTFではないんですが、同じスコアボードを使いまわしてmoratoriumくんが謎問を公開しています。僕はちゃんと解きました。まあmin-camlをこのためだけに読むのもあれなのは確かなのですが。CalendarはhakatashiがTSGアニメ鑑賞会の話をしてくれる予定っぽいです。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。