投稿者 itouhiro
タグ [ Photoshop ]
Photoshop5.5のツールバーの目が気になるのです。 なんか にらまれてる気がして落ち着かない。

そこで書き換えることができるのか調べました。
※使用許諾契約に抵触する可能性がありますので、この作業は各個人の責任の範囲内にとどめてください。
※当サイトでは本件に関する一切のトラブルを保証しません。
萌えるPhotoshopの作り方 : Last-Quarter.net にスプラッシュスクリーン (Photoshop起動時に出るウィンドウ) の書き換えが説明してあります。 まずは練習として、このやりかたでスプラッシュスクリーンを書き換えてみます。

Photoshop5.5の場合は C:\Program Files\Adobe\Photoshop 5.5\Photos02.dll ファイル
の中にスプラッシュスクリーン画像が入っています。
このファイルは重要なファイルですので、直接書き換えないようにコピーをとって、そちらのファイルで作業します。
リソースハッカーで開いて、[Bitmap - 5018 - 1033] を選択して [右クリック - 保存]します。

Photoshopなどでその画像を開いて、同じ大きさの画像を作ります。Photoshop5.5の場合、PNGではなくてBMPなので透過はできません。 24bit Windows BMPで保存します。
その画像をリソースファイル Photos02.dll に書き戻します――。
リソースハッカーで copy-Photos02.dll を開き、[右クリック - リソースを置き換え] します。
そして [ファイル - 保存する] で copy-Photos02.dll が書き換わります。
Photoshopを終了して、Photos02.dll のほんものファイルと置き換えて、Photoshopを再起動すると、以下のようにスプラッシュスクリーンが変わりました。

この書き換え画像はフィギュアの写真を使用させていただきました。
さて次は目標の、ツールバーの画像書き換えを行います。
しかしリソースの中で画像探してもこのツールバーの画像は見つからない。 同じ手は通用しないみたいです。
Photoshp.exe の中にビットマップとして埋め込まれてないかなあ……と探してみましたが なさそうです。
もう一度リソースをよく探してみると、うたがわしいデータを見つけました。
さっきと同じ Photos02.dll に PICT というデータがあります。中は HEXデータですけど、
大きさが 223,255 バイトのものもある……「これは画像データだぜ!」直感がそう告げました。

リソースハッカーだと保存形式に「16進数ダンプ (*.txt)」しか選べなくてバイナリで保存できないので、 ResEdit を使います。
ResEditの [Option - Hex Editors] に BZなどのバイナリエディタを指定しておいて、 [Edit]ボタンを押すと、バイナリエディタで開けます。
これよく見ると、バイナリのならびに規則性があることに気がつきます……。 ほら、3バイトごとに E E E D D って連続っぽいデータが並んでる。 3バイト……つまりRGB24ビットのデータが並んでるんだ、これは……。

バイナリファイルの頭のほうを見ると、これBMPのヘッダによく似てるんですよ。 BMP 24bitデータなのかな?
そこでBMPのヘッダフォーマットにあわせて、バイナリを書き換えていきました。 10進数を16進数に変換するのはWindowsのアクセサリ「電卓」でおこない、リトルエンディアンで入力します。
作業中に気がつきましたが、 1バイトずれてますがBMPの画像サイズ情報があり、サイズが 480x155 になっています。 これさっき書き換えたスプラッシュスクリーンと同じ大きさ(ピクセルサイズ)です。
そういえばさっき作ったスプラッシュスクリーン画像BMPファイルも、サイズが 223,254 とちょうど1バイト少ないだけの大きさ(ファイルサイズ)です。
というわけで、1バイト削って、あとはBMPヘッダフォーマットに書き換えたところ、 BMP画像として開けました。中身は予想したとおりスプラッシュスクリーン画像でした。
私が書き換えたいツールバーの画像はファイルサイズにして 3KBくらいです。 (実際にツールバーの書き換えたい場所をスクリーンキャプチャして 24Bit BMPファイルにしたので判明した)
リソースハッカーで、PICTリソースのサイズを見ていきます。
サイズ3000くらいのは ないかな?――探してみると、[PICT - 1321 - 1033] が 3509バイトでした。 'PS App Identifier PICT'なんて入っているので よけいあやしい……。
BMPヘッダに書き換えました。 すると、ビンゴ! これです。

この画像の点線の中の 47 x 18 ピクセルだけ変更します。

そして、
取り出したリソース [PICT - 1321 - 1033] ファイルの画像データをBMP画像のデータに置き換え、
さらにそれを Photos02.dllに戻します。
ResEditでリソースの置き換えすると Photos02.dllのファイルサイズが変わってしまい、Photoshopを起動できなくなりました。
ResourceHackerで書き換えると、Photoshop起動しました。
ツールバーの画像は置き換わっています。成功です。

Photos02.dll を開き、[PICT - 1321 - 1033] を選択して [Edit]ボタンを押してバイナリエディタ(ここでは BZ) にデータを読み込ませる。
![[Edit]ボタンを押す ResEdit](ps55-toolbar6.gif)
PICT1321.datのファイル名で保存。PICT1321.datを BMPヘッダ形式に書き換えて PICT1321.bmpのファイル名で保存する。



PICT1321.datを読み込み、[編集 - 変更禁止] を実行して変更可能にする(ウィンドウ名にある (RO) が消える)。
PICT1321.datは 3,509 バイト)Photos02.dll(のコピー)を開き、[PICT - 1321 - 1033] を選択して [右クリック - リソースの置き換え]を実行。

タグ [ Photoshop ]
固定リンク http://ai11.net/2008/02/16/
ブックマーク ![]()