タグ

2017年12月4日のブックマーク (3件)

  • Ken Thompson氏 | えびめも(2004-04-13)

    ■ Ken Thompson氏 古い話ですが、今日 Ken Thompson氏の有名なback door事件を知った(氏はUNIXを作った男の一人である)。backdoorとは、システムやプログラムの作者が、作者しか知りえない秘密の手順を組み込んでおき、あとでそのシステムへ侵入するための裏口を作っておくことである。広い意味で言えばゲームの裏技やアクションゲームの主人公の無限増殖などもこの類のものだろう。 氏は初期の(1970年代初頭の)UNIXシステムのlogin コマンドにバックドアを仕込んでおき、ログイン名ktと、とあるパスワードを入力すると、そのアカウントが存在しなくてもシステムに侵入できる仕掛けを入れておいた。しかもそれを氏が1984年に論文で発表するまで誰も見破れなかった。というのだ。 その恐るべき手法は次の通りである。もし login.c にバックドアを記述しておいたらすぐに見

    realtank
    realtank 2017/12/04
  • neue cc - Introduction to the pragmatic IL via C#

    この記事はC# Advent Calendar 2017のための記事になります。12/1はmasanori_mslさんの【C#】処理の委譲で迷った話でした。そしてこの記事は12/2、のはずが今は12/4、つまり……。すみません。 ところでですが、私は今年の自身のテーマとして、「Extreme C#」を掲げています。C#で極限まで性能を出していく、ということを主題にして様々なものを公開してきました。その中でもILを書く技術というのは、どうしても欠かせないものです。実際、私が近年制作したライブラリはほとんどIL生成を含んでいます。 例えば、シリアライザ - ZeroFormatter, MessagePack for C#, Utf8Json。RPC - PhotonWire, MagicOnion。DI - MicroResolver。これらから、実際に使われた例と、そして実地でしか知り得な

    realtank
    realtank 2017/12/04
  • もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama|note

    思考実験として、全世界の人が同時に、自分の持っているコンパイラやインタープリタなどの実行ファイルをうっかり全部消してしまったとしよう。そうするとそれ以降、ソースコードが残っていても、コンパイラ自身も含めてどのようなプログラムもコンパイルできなくなってしまう。この状況から人類は元のコンピュータ文明を復旧することができるのだろうか? 僕は結論としては、かなり簡単に復旧できると思う。ここではその手順についてちょっと考えてみよう。 コンパイラのバイナリファイルが全部消えてしまった後、復旧のために目指すべきマイルストーンは、おそらくCコンパイラを元に戻すことになるだろう。Cで書かれたプログラムはOSやコンパイラ自身を含めてたくさんあるので、そこを起点にすれば、たくさんのプログラムを芋づる式に復旧していけるからだ。 ほとんどのCコンパイラはCかC++で書かれている。最近のGCCやClangは巨大かつC

    もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama|note
    realtank
    realtank 2017/12/04