macOS File Extension & URL scheme app handlers

HackTricksのサポート

LaunchServicesデータベース

これはmacOSにインストールされているすべてのアプリケーションのデータベースであり、各インストールされたアプリケーションに関する情報を取得できるようにクエリを実行できます。それは、次のようにこのデータベースをダンプすることが可能です:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump

または、ツールlsdtripを使用する。

/usr/libexec/lsdはデータベースの中枢です。.lsd.installation.lsd.open.lsd.openurlなどの複数のXPCサービスを提供します。ただし、.launchservices.changedefaulthandler.launchservices.changeurlschemehandlerなどのXPC機能を使用するために、アプリケーションにはいくつかの権限が必要です。mimeタイプやURLスキームのデフォルトアプリを変更するための.launchservices.changedefaulthandler.launchservices.changeurlschemehandlerなどが含まれます。

**/System/Library/CoreServices/launchservicesdはサービスcom.apple.coreservices.launchservicesdを所有し、実行中のアプリケーションに関する情報を取得するためにクエリできます。システムツール/usr/bin/lsappinfo**またはlsdtripを使用してクエリできます。

ファイル拡張子とURLスキームのアプリハンドラ

次の行は、拡張子に応じてファイルを開くことができるアプリケーションを見つけるのに役立ちます:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -E "path:|bindings:|name:"

または、SwiftDefaultAppsのようなものを使用します:

./swda getSchemes #Get all the available schemes
./swda getApps #Get all the apps declared
./swda getUTIs #Get all the UTIs
./swda getHandler --URL ftp #Get ftp handler

あるアプリケーションがサポートする拡張子をチェックすることもできます。

cd /Applications/Safari.app/Contents
grep -A3 CFBundleTypeExtensions Info.plist  | grep string
<string>css</string>
<string>pdf</string>
<string>webarchive</string>
<string>webbookmark</string>
<string>webhistory</string>
<string>webloc</string>
<string>download</string>
<string>safariextz</string>
<string>gif</string>
<string>html</string>
<string>htm</string>
<string>js</string>
<string>jpg</string>
<string>jpeg</string>
<string>jp2</string>
<string>txt</string>
<string>text</string>
<string>png</string>
<string>tiff</string>
<string>tif</string>
<string>url</string>
<string>ico</string>
<string>xhtml</string>
<string>xht</string>
<string>xml</string>
<string>xbl</string>
<string>svg</string>
HackTricksのサポート

Last updated