タグ

ブックマーク / cpplover.blogspot.com (22)

  • x86のMMUはチューリング完全である

    jbangert/trapcc · GitHub The Page-Fault Weird Machine: Lessons in Instruction-less Computation | USENIX x86のMMU、つまりは割り込みとメモリ変換テーブルは、チューリング完全であることの証明。割り込みとメモリ変換テーブルを活用して、プログラムカウンターを一切進めず、ひたすら割り込みを続けるだけで、任意の演算が可能になる。もちろん条件分岐だってオーケーだ。 このテクニックを使えば、カーネルモジュールのバイナリにとても解析が面倒な難読化処理を施すことができる。なぜなら、通常のインストラクションは実行しないから、何をしているのか、通常のインストラクションを追うだけでは一見して明らかではないからだ。そもそも、既存のKGDBなどは、あまりに頻繁な割り込みがかかるため、まともに機能しなくなるようだ

  • GNU/Linuxでお手軽に使えるCLIのファイル暗号化ツール

    ふと思い立って、GNU/Linuxでお手軽に使えるCLIのファイル暗号化ツールを探してみた。 評価すべき点は、自由ソフトウェアであることはもちろんとして、主要なディストロでパッケージ化されるほど有名であることと、ファイルの暗号化目的に簡単に使えることだ。「ファイルの暗号化」とは、十分に強い共通鍵暗号で暗号化、復号化することだ。 そして、今回重要視したのは、パスフレーズにUTF-8を使えることだ。パスワードという言い方はあまり好きではない。パスフレーズと呼ぶべきだ。パスフレーズとは、普通の文を使うものである。例えば、 イスタンブールは昔コンスタンティノープル 水平リーベー僕の船そー曲があるシップスクラークか 数種類の奇妙な文字で文章を書く、親愛なる日人の皆さん などだ。 これらのパスフレーズは人間にとっては作りやすく、覚えやすい。それでいて十分な情報量があり、総当りにも強いので、コンピュー