加殻プログラムの原理をかんたんに解説

UPX のような加殻プログラムを聞いたことがある方は多いと思います。しかし、その仕組みをご存じでしょうか? 自分で書いてみたことはありますか? 難しそうに思えるかもしれませんが、実はその原理はとても単純です。以下、風來がご説明いたします〜 加殻プログラムを作る最初のステップは、加殻したいプログラムのバイナリファイルを手に入れることです。コンピューター上のファイルはすべてバイナリファイルだということは、みなさんご存じですよね? バイナリファイルは 0 と 1 だけで構成されています。では、手に入れたバイナリファイルをどうするのでしょうか? もちろん暗号化します。いちばん簡単な暗号化方法は、すべてのビットを反転させることです。つまり 0 は 1 に、1 は 0 に変えます。ただ、暗号化したファイルをそのまま実行することはできないので、次は第 2 段階に進みます。 第 2 段階も実はとても単純です。暗号化したファイルの中に、ファイルを復号できるプログラムのバイナリコードを埋め込みます。プログラムが起動すると、自動的にファイルを復号します。ただし、この復号は一時的なものです。ディスク上のファイルを復号するのではなく、メモリ上に置かれた内容を復号します。こうすれば、プログラムが終了した時点で元の暗号化された状態に戻ります。 これは昨日ふと思いついた加殻の方法です。理論上は動くはずです @@

2009年7月7日 · 1 分

HxD - 優れた16進数ビューア

今回ご紹介するプログラムは HxD です。ファイルを16進数のバイト列として表示できるプログラムです。HxD は無料ですが、プロ向けのエディタにもまったく劣りません。HxD は基本的な16進数表示に対応しているだけでなく、メモリを直接操作することもできます。また、データのエクスポート機能もあり、編集したファイルを VB や C++ などの言語のプロジェクトファイルとして直接書き出せます。個人的には、パソコンをよく使う人なら、万一のために USB メモリに入れておくとよいと思います。 ...

2009年6月28日 · 1 分