macOS File Extension & URL scheme app handlers

Apoie o HackTricks

Banco de Dados do LaunchServices

Este é um banco de dados de todos os aplicativos instalados no macOS que podem ser consultados para obter informações sobre cada aplicativo instalado, como os esquemas de URL que ele suporta e os tipos MIME.

É possível despejar esse banco de dados com:

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

Ou usando a ferramenta lsdtrip.

/usr/libexec/lsd é o cérebro do banco de dados. Ele fornece vários serviços XPC como .lsd.installation, .lsd.open, .lsd.openurl, e mais. Mas também requer algumas permissões para que os aplicativos possam usar as funcionalidades XPC expostas, como .launchservices.changedefaulthandler ou .launchservices.changeurlschemehandler para alterar aplicativos padrão para tipos de mime ou esquemas de URL e outros.

/System/Library/CoreServices/launchservicesd reivindica o serviço com.apple.coreservices.launchservicesd e pode ser consultado para obter informações sobre aplicativos em execução. Pode ser consultado com a ferramenta do sistema /usr/bin/lsappinfo ou com lsdtrip.

Manipuladores de aplicativos de esquema de extensão de arquivo e URL

A linha a seguir pode ser útil para encontrar os aplicativos que podem abrir arquivos dependendo da extensão:

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

Ou use algo como 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

Você também pode verificar as extensões suportadas por um aplicativo fazendo:

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>
Suporte o HackTricks

Last updated