[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[harden-mac:0754] Re: Resource-forkとデータの偽装
- To: harden-mac@xxxxxxxxxx
- Subject: [harden-mac:0754] Re: Resource-forkとデータの偽装
- From: Tomio Arisaka <mio_rhapsody@xxxxxxx>
- Date: Tue, 28 Feb 2006 16:26:34 +0900
Tomio Arisaka です。
On 2006/02/24, at 23:44, Tomio Arisaka wrote:
さて、今回話題となったものは、データ・ファイル(jpg, mov等)を装った
Shell-Scriptです。
データファイルを装ったShell-Scriptは、「usro」リソースの仕組みを利用
してTerminal.appを起動アプリとしたものでした。
それでは、データファイルに偽装できるのはShell-Scriptだけでしょうか。
残念ながら、他にも存在します。
例えば、AppleScriptの実行ファイルは、データファイル(jpgやmov等)に
偽装できます。
AppleScriptの実行ファイルには、「アプリケーション」形式と「アプリケー
ション・バンドル」形式があります。前者の例を「AS_application․jpg.app」
後者の例を「AS_app_bundle․jpg.app」とします。
そして、両方のアプリケーションに任意のアイコンを貼付けます。
ここでは、イメージデータらしいアイコンを貼付けたとします。
(貼付けたアイコンは「icns」リソースとしてResource-forkに保存されます)
このとき、以下のような問題が発生します。
(a)Finderの環境設定で「すべてのファイル拡張子を表示」が無効になって
いる場合、Finder上では拡張子の「.app」が表示されないために、アプリケー
ションがデータファイルに見えます。
AS_application․jpg.app ---> AS_application․jpg
AS_app_bundle․jpg.app ---> AS_app_bundle․jpg
(b)Finder上での表示を「アイコン」にしている場合、アプリケーション・
バンドル「AS_app_bundle․jpg.app」から拡張子「.app」を取り除いたものが
データファイルに見えます。(リスト表示やカラム表示にしている場合は
フォルダに見えます)
AS_app_bundle․jpg
(c)アプリケーション「AS_application․jpg.app」は、拡張子「.app」を
取り除くことで、ほぼ完全にデータファイルに偽装することができます。
(勿論「情報を見る」でアプリであることを確認できます)
AS_application․jpg
これらの偽装ファイルは「usro」リソースに依存しません。
よって、ファイルの実行属性を取り去る(chmod ugo-x)しか無いようです。
(勿論、この方法は「usro」リソースを利用したShell-Scriptにも有効です)
MacのようなGUIでは、アプリケーションもデータもダブルクリックという
同一の起動動作を許すため、アプリケーションをデータに偽装する問題
からは避けられないような気がします。
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������r���������������������������������m�����~�)"��v�ډ�it���������������������������������������������������=����È514D�����DM<0�&���