Yanıtlar:
Göre bu blog yayınına (Daha fazla bilgi ile burada ) o iTunes neden oluyor ki iTunes' DRM kırmaya denemek için kullanılamaz böylece DTrace "filtreler".
İTunes'dan çıkılması hatayı giderir.
Hatalar stderr'e çıktılanıyor ve komut şu şekilde çalıştırılarak filtrelenebilir:
sudo iotop -C 5 12 2>/dev/null
Bunun, ortaya çıkabilecek diğer hataları filtrelemenin yan etkisi vardır. Iiotop çıktımı okunabilir hale getirdiğinden, iyi bir ödünleşim olarak buldum.
Ne yazık ki hataların nedeninin ne olduğundan emin değilim. Aradım, ancak henüz bir şey bulamadım.
Kısacası, izlenmemesini talep eden bir işlemi izlemeye çalışırken hata gösterilir.
Hata, teknik olarak iTunes'dan değil, aşağıdaki gibi kod kullanarak izlemeyi devre dışı bırakan bir işlemden kaynaklanır.
ptrace(PT_DENY_ATTACH, 0, 0, 0);
Bu kod, işlemde çekirdek düzeyinde bir bayrak belirler, bu da işlemin hata ayıklamasını ve izlenmesini önler.
Bunu yapan en iyi bilinen uygulama sadece DRM'si bu API'sı icat edilen uygulama olan iTunes'tur, ancak API diğer işlemler için kullanılabilir. Bu API'yı kullanan bir dizi 3. taraf uygulaması gördüm.
Tabii ki, tüm DRM gibi kırılabilir. Bu anti-tracing ve hata ayıklama önleme özelliğini atlamak için seçenekler, API çağrısını atlamak için bir hata ayıklayıcı kullanmaktan, özelliği çekirdek alanında yama yapan çekirdek uzantılarına kadar uzanır.
Alındığı /unix//a/276219
Bu, potansiyel olarak El Capitan ve davranışını
csrutil status
etkileyebilecek Sistem Bütünlüğü Koruması ( ) ile ilgilidirdtrace
.Olası düzeltme, Mac'i kurtarma moduna ( ⌘- Rönyükleme zamanında), ardından Terminal çalıştırmasında yeniden başlatmayı içerir :
csrutil enable --without dtrace
SIP'yi etkin tutmak, ancak DTrace kısıtlamalarını devre dışı bırakmak için (not: bu belgesiz bir parametredir ).
Veya SIP'yi şu şekilde tamamen devre dışı bırakın:
csrutil disable # Not recommended.
Görmek: