Tenter d'utilise dtruss n'aboutira pas comme vous le souhaitiez :
$ sudo dtruss -t open_nocancel curl --insecure -vvI https://www.example.org
Password:
dtrace: system integrity protection is on, some features will not be available
dtrace: failed to execute curl: (os/kern) failure
Pour contourner, nous allons copier le binaire dans un dossier non protégé :
$ cp $(which curl) /tmp
Puis supprimer la signature de code qui est rattaché au binaire :
$ codesign --remove-signature /tmp/curl
Et enfin, la protection ne sera plus active :
$ sudo dtruss -t open_nocancel /tmp/curl --insecure -vvI https://www.example.org
dtrace: system integrity protection is on, some features will not be available
SYSCALL(args) = return
* (...)
* Connection #0 to host www.example.org left intact
* Closing connection 0
open_nocancel("/private/etc/ssl/openssl.cnf\0", 0x0, 0x0) = 3 0
open_nocancel("/usr/share/locale/fr_FR.UTF-8/LC_COLLATE\0", 0x0, 0x0) = 3 0
open_nocancel("/usr/share/locale/fr_FR.UTF-8/LC_CTYPE\0", 0x0, 0x0) = 3 0
open_nocancel("/usr/share/locale/fr_FR.UTF-8/LC_MONETARY\0", 0x0, 0x0) = 3 0
open_nocancel("/usr/share/locale/fr_FR.UTF-8/LC_NUMERIC\0", 0x0, 0x0) = 3 0
open_nocancel("/usr/share/locale/fr_FR.UTF-8/LC_TIME\0", 0x0, 0x0) = 3 0
open_nocancel("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/LC_MESSAGES\0", 0x0, 0x0) = 3 0
open_nocancel("/Users/tiger-222/.curlrc\0", 0x0, 0x0) = -1 2
open_nocancel("/etc/.mdns_debug\0", 0x0, 0x0) = -1 2
open_nocancel("/etc/ssl/cert.pem\0", 0x0, 0x0) = 6 0
open_nocancel("/var/db/timezone/zoneinfo/UTC\0", 0x0, 0x0) = 6 0
open_nocancel("/var/db/timezone/zoneinfo/posixrules\0", 0x0, 0x0) = 6 0
La liste des appels disponibles pour le filtrage (argument -t
) est disponible dans syscalls.master.