macOS File Extension & URL scheme app handlers

Підтримайте HackTricks

База даних LaunchServices

Це база даних всіх встановлених додатків в macOS, до якої можна звертатися для отримання інформації про кожен встановлений додаток, таку як підтримувані ним URL-схеми та типи MIME.

Можливо вивести цю базу даних за допомогою:

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

Або використовуючи інструмент lsdtrip.

/usr/libexec/lsd - це мозок бази даних. Він надає кілька служб XPC, таких як .lsd.installation, .lsd.open, .lsd.openurl, та інші. Але він також вимагає деякі дозволи для додатків, щоб мати змогу використовувати викладені функціональні можливості XPC, такі як .launchservices.changedefaulthandler або .launchservices.changeurlschemehandler для зміни типів мультимедійних файлів або схем URL та інші.

/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