我正在开发一个我想隐藏DTrace检查的OS X应用程序。我意识到P_LNOATTACH
标志,但是我读过的所有内容都告诉我有解决方法。可能吗?是否可以隐藏DTrace中的OS X应用程序?
回答
是的,这是可能的。试着在iTunes上运行DTrace;它不起作用。
您必须使用PT_DENY_ATTACH调用ptrace函数。
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/ptrace.2.html
不过,也有围绕它的方式与不同的内核扩展的。谷歌周围,你会发现一些。
10.6 & 10.7:https://github.com/dwalters/pt_deny_attach
嗯,看起来它与10.8打破由于ASLR:Detecting, and Shirking Off, the Debugger
根据网络上的各种消息,包括Wikipedia's DTrace article和Ars Technica,如果P_LNOATTACH
标志被设置为一个进程,Apple的DTrace实现将不会对其执行任何探测。
我读过的所有内容都表明有围绕这种保护的方法。这个答案似乎不完整。 – ericg
如果您的代码在其他人的计算机上运行,他们将*总是*围绕您可以实施的任何保护措施。数十年来人们一直试图发明完美的数字版权管理,并且他们一致地失败了;你不会做得更好。 –
正如指出的那样,你可以使用ptrace的与PT_DENY_ATTACH(2),但是DTrace的还是一个调试器可以拦截这些呼叫并禁用它们。此外,您希望您的用户在您的程序中使用DTrace。如果有问题,让他们帮你诊断。唯一真正的专有软件在家用电器和云环境等受控环境中执行 - 一旦您将用户交给您,您理解您所做的唯一事情就是时间。
- 1. 是否可以在Intent AppChooser中隐藏一些应用程序?
- 2. 是否可以隐藏从应用程序调用的号码?
- 3. 是否可以隐藏用户的特定应用程序?
- 4. 是否可以隐藏地铁应用程序的应用程序磁贴
- 5. 如何从Mac OS X dock中隐藏应用程序图标
- 6. 以编程方式隐藏(但不退出)OS X上的应用程序
- 7. 是否可以在Mac OS X上通知DTrace动态生成的代码?
- 8. 在Mac OS X应用程序中是否可以使用DAL和BLL图层?
- 9. 是否可以创建不是捆绑的Mac OS X gui应用程序?
- 10. MAC OS X可可应用程序
- 11. 响应“隐藏其他”的Mac OS X
- 12. 是否可以隐藏aChart引擎线图中的x轴线?
- 13. 是否有可能隐藏REXX程序
- 14. 是否可以在OS X上静态链接一个Haskell应用程序?
- 15. 是否可以在应用程序中使用X-AppEngine-Country
- 16. 是否可以隐藏我们的应用程序中的其他应用程序?
- 17. 是否可以在TaskManager应用程序选项卡中隐藏winform?
- 18. 是否可以从Google搜索中隐藏Google App Engine应用程序?
- 19. 如何从Mac OS X dock中隐藏PyQt应用程序的图标
- 20. 是否可以从Windows服务运行隐藏的控制台应用程序?
- 21. 是否可以在横向模式下隐藏SplitView iPad应用程序的RootViewController?
- 22. 在Mac OS X上是否有dtrace ustack()助手?
- 23. 是否可以用动画隐藏UIToolbar?
- 24. 可以运行shell命令的OS X应用程序
- 25. 隐藏在Mac OS X Lion中的NSStatusBar
- 26. 是否可以隐藏AJAX API?
- 27. 是否可以通过编程调用OS X服务?
- 28. iPhone:是否可以隐藏和取消隐藏UIACtionSheet按钮?
- 29. OS X上的Java DTrace桥接
- 30. Mac OS X应用程序可否阻止dlopen加载库?
您可以通过指向与10.7.x一起使用的kext来改进答案 – ericg