Petyaのドクロのコードが見たい
いよいよMBRの中のコードを覗いてみる…。 のだけどどうやって??? IDA proってツールを使います。 ベルギーのhex-raysって会社が出しているdisassembler。 フリーウェア版でも十分使える。 ライセンス版は2000ドル(!)くらいするのだが、x64も読めちゃう。 supports more than 50 processor families なんて書いてあるが、世の中にはそんなにプロセッサの種類あるんだね草。 よりマニアックなcpu instructionが見たいぜ!!という諸兄には必携かと。 https://www.hex-rays.com/products/ida/support/download_freeware.shtml 保存したpetya.imgの拡張子を.comに変えてから読み込むと捗る。 アセンブラの命令を一個一個解説していくことは困難なためさわりだけでオナシャス。。 bochsでステップ実行しながら、表示を比較していくとよい。 http://bochs.sourceforge.net/doc/docbook/user/internal-debugger.html 以下のコードで一文字づつ画面に書き込み。 https://en.wikipedia.org/wiki/INT_10H によると、、Teletype output てので出力してるみたいだね。 seg000:4C26 WRITE_CHAR_ANDADVANCE_CURSOR proc near ; CODE XREF: WRITE_CHAR_ANDADVANCE_CURSOR_0+E p seg000:4C26 ; sub_14C54+57 p ... seg000:4C26 seg000:4C26 arg_0 = byte ptr 4 seg000:4C26 seg000:4C26 55 push bp seg000:4C27 8B EC mov ...