macOS File Extension & URL scheme app handlers

HackTricks'i Destekleyin

LaunchServices Veritabanı

Bu, macOS'ta yüklü olan tüm uygulamaların bir veritabanıdır ve her yüklü uygulama hakkında URL şemaları ve MIME türleri gibi bilgileri almak için sorgulanabilir.

Bu veritabanını şu şekilde dökümleyebilirsiniz:

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

Veya lsdtrip aracını kullanarak.

/usr/libexec/lsd, veritabanının beynidir. .lsd.installation, .lsd.open, .lsd.openurl gibi birkaç XPC hizmeti sağlar. Ancak ayrıca uygulamaların .launchservices.changedefaulthandler veya .launchservices.changeurlschemehandler gibi açığa çıkarılan XPC işlevlerini kullanabilmek için bazı yetkilendirmelere ihtiyaç duyar, mime türleri veya url şemaları için varsayılan uygulamaları değiştirmek ve diğerleri.

/System/Library/CoreServices/launchservicesd, com.apple.coreservices.launchservicesd hizmetini iddia eder ve çalışan uygulamalar hakkında bilgi almak için sorgulanabilir. Sistem aracı /usr/bin/lsappinfo veya lsdtrip ile sorgulanabilir.

Dosya Uzantısı ve URL şeması uygulama işleyicileri

Aşağıdaki satır, uzantıya bağlı olarak dosyaları açabilen uygulamaları bulmak için yararlı olabilir:

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

Veya SwiftDefaultApps gibi bir şey kullanın:

./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

Uygulamanın desteklediği uzantıları kontrol etmek için aşağıdaki adımı uygulayabilirsiniz:

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'i Destekleyin

Last updated