パッチって何
修正パッチとか、いろいろあるでしょ。
よく、修正パッチという言葉があります。Windows UpdateなどもWindows自体の修正パッチとも言えるでしょうか。
そのパッチとは、プログラム中に不具合があった場合に、その不具合を修正するためにプログラムに変更を加える作業です。
で、うちのページでダウンロードできるパッチというのは、その変更方法が書いてあるだけで、実行すると勝手に修正してくれるような利口な物ではありません。
と言うことを説明も読まないで、実行したんですけど何も変わりませんっていうメールが(かなり)しょっちゅう来ます。
説明は読んでくださいね。まあ、メールするような人はここも読まないとは思うんですが…。
その修正方法というのは、大抵、うちのパッチに限らず、どのファイルのxxxxのyyをzzに変更しろ、という様な事が書かれています。
xxxxはアドレス、yyとzzはデータといい、アドレスは、先頭から何文字目かで、データはそこの文字そのものを示します。
たとえば「A」←このAだと、今読んでいるこのファイル(patch.html)の3f5の41と、表記します。
アドレス3f5はこのファイルの中に1箇所しかありません。また、41は「A」そのものを示すので、「A」の数だけあります。詳しくは省略しますが、42、43・・・と、「B」「C」と対応しています。
ですので、このファイルの3f5の41を42に書き換えると、先の「A」が「B」に書き変わります。
ファイル中にアドレス3f5は一箇所しか有りませんので、あえて3f5の41と書く必要は無いのですが、アドレス3f5を3e4などと読み間違えた場合など、そこは41(A)にはなっていない場合が多いので、間違えたんだな、という事が解るので元の値も書いておく場合が多いです。もしくは、間違えていないのに値が違う場合、そのファイルはバージョンが異なる可能性があります。
しかし、今話題にしているこのファイルは、私たちが読む「テキストファイル」です。テキストファイルは、テキストエディタ(つまりメモ帳とか)で編集することができます。
テキストファイルの場合、概ね、アドレス3f5は先頭からの文字数で41が「A」を示すという訳です。
ですが、これがDLLファイルなどを対象とする場合、それは普通の人が読んで理解できるファイル(テキストファイル)ではありません。その為、テキストエディタで編集もできません。
これらのPCが理解するファイルは、「バイナリファイル」といい、もちろん、その編集にはバイナリエディタという物を使用します。
バイナリエディタ自体はフリーソフトウェアで無数に公開されていますので、簡単に入手できるとおもいます。
自分の趣味にあった物(というか、ここ読んでる人なら最初に見つけた物かな?)を使えばいいと思います。
使用方法もそれぞれ異なりますので、特に一つのソフトに対しての説明は行いませんが、ファイルを読み込ませた場合、概ね、以下のような表示がされているとおもいます。
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f
00000000 3C 48 54 4D 4C 3E 0D 0A 3C 48 45 41 44 3E 0D 0A
00000010 20 20 20 3C 54 49 54 4C 45 3E 83 70 83 62 83 60
00000020 82 C1 82 C4 89 BD 3C 2F 54 49 54 4C 45 3E 0D 0A
00000030 3C 2F 48 45 41 44 3E 0D 0A 3C 42 4F 44 59 3E 0D
・
・
・
00001800 .. .. .. .. .. .. .. .. .. .. .. .. ** .. .. ..
上記の左側に並んでいる、00000000と、一番上に並んでいる+0などの数字(16進数なのでA〜Fも数字)がアドレスです。
アドレスは8桁、6桁、4桁など色々ありますが、基本的に先頭に0が増えていくだけです。
左側のアドレスと上側のアドレスを足し合わせた物が実際のアドレスになり、例えば「**」の場所だと00001800+0cで、0000180cとなります。
ここは16進数なので9+1=A、A+6=10となるのですが、大抵は左側のアドレスの最下位は0なんで最下位を読み替えるだけで問題ないでしょう。
また、上記のアドレス以外の部分の数字(3C 48 54・・・など)がデータです。
データもバイナリエディタによって桁区切りの数が2桁、4桁、8桁などがありますが、設定で桁区切りを変更できます。用途にもよりますがパッチを当てる場合は2桁区切りが便利でしょう。
試しに実際の値をみてみるとするなら、この例だと0000002cは45です。
あとは、パッチを当てるなら、そこの値を書き換えて、ファイルを上書きするだけです。
注意としては、実行中のファイルは書き換えできません。MEDIACRUISEを書き換えるなら、MEDIACRUISEの起動中は無理という事になります。
また、AVIキャプチャなどのデバイスドライバは、インストールされた状態では書き換え出来ませんので、インストール前に書き換えてからインストールするという必要があります。
一度インストールしてあるものを、再度同じ物をインストールする場合、Windowsは先にインストールしたファイルをそのまま使用する場合があります。ですので、確実に対象のファイルがインストールされるかを確認しましょう。インストール時に、infファイル名が表示されるので、それを確認します。
感想、要望、バグ報告、その他何かありましたら、メールもしくは掲示板にてご連絡ください。
裕之
ホームに戻る