# macOS Dateierweiterung & URL-Schema-App-Handler
{{#include ../../banners/hacktricks-training.md}}
## LaunchServices-Datenbank
Dies ist eine Datenbank aller installierten Anwendungen in macOS, die abgefragt werden kann, um Informationen über jede installierte Anwendung zu erhalten, wie z.B. die unterstützten URL-Schemata und MIME-Typen.
Es ist möglich, diese Datenbank mit folgendem Befehl zu dumpen:
```
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump
```
Oder mit dem Tool [**lsdtrip**](https://newosxbook.com/tools/lsdtrip.html).
**`/usr/libexec/lsd`** ist das Gehirn der Datenbank. Es bietet **mehrere XPC-Dienste** wie `.lsd.installation`, `.lsd.open`, `.lsd.openurl` und mehr. Aber es **benötigt auch einige Berechtigungen** für Anwendungen, um die exponierten XPC-Funktionalitäten nutzen zu können, wie `.launchservices.changedefaulthandler` oder `.launchservices.changeurlschemehandler`, um Standardanwendungen für MIME-Typen oder URL-Schemata und andere zu ändern.
**`/System/Library/CoreServices/launchservicesd`** beansprucht den Dienst `com.apple.coreservices.launchservicesd` und kann abgefragt werden, um Informationen über laufende Anwendungen zu erhalten. Es kann mit dem Systemtool /**`usr/bin/lsappinfo`** oder mit [**lsdtrip**](https://newosxbook.com/tools/lsdtrip.html) abgefragt werden.
## Datei-Erweiterung & URL-Schema-Anwendungs-Handler
Die folgende Zeile kann nützlich sein, um die Anwendungen zu finden, die Dateien je nach Erweiterung öffnen können:
```bash
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -E "path:|bindings:|name:"
```
Oder verwenden Sie etwas wie [**SwiftDefaultApps**](https://github.com/Lord-Kamina/SwiftDefaultApps):
```bash
./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
```
Sie können auch die von einer Anwendung unterstützten Erweiterungen überprüfen, indem Sie:
```
cd /Applications/Safari.app/Contents
grep -A3 CFBundleTypeExtensions Info.plist | grep string
css
pdf
webarchive
webbookmark
webhistory
webloc
download
safariextz
gif
html
htm
js
jpg
jpeg
jp2
txt
text
png
tiff
tif
url
ico
xhtml
xht
xml
xbl
svg
```
{{#include ../../banners/hacktricks-training.md}}