将调试信息作为 dSYM 文件进行反汇编存在安全风险吗?
我正在 Mac OS X 上编译一个软件,我不想暴露它的内部结构。但如果我可以使用用户发送的崩溃日志来检查崩溃原因,那就太好了。我担心调试信息生成为 dSYM 文件会暴露我的应用程序的内部结构(无论如何,dSYM 文件都没有被分发),所以我的问题是:
dSYM 文件生成是否会修改生成的应用程序二进制文件?如果是的话,它如何修改二进制文件?这对我的知识产权是否存在安全风险(例如,使用 dSYM 文件生成更容易进行反汇编)?
谢谢。
I'm compiling a software on Mac OS X, and I don't want to expose the internals of it. But it would be great if I could use crashlogs sent by the users to inspect the crash reasons. I fear that the debug info generation as dSYM file exposes the internals of my app (the dSYM files not being distributed, anyway), so my question(s) is (are):
Does the dSYM file generation modify the generated application binary? If it does, how does it modify the binary? Is it a security risk for my intellectual property (e.g. is disassembly easier with dSYM file generation)?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
dSYM 向尝试反汇编代码的人提供的唯一内容是例程和符号名称,否则这些名称可能会被部署构建删除。
这仅适用于未导出的 C 和 C++ 例程。无论如何,Objective-C 代码中的例程名称都会被包含在内。
因此,除非您担心泄露 C 例程的名称,否则我认为没有任何安全风险。
The only thing the dSYM would provide to someone trying to disassemble your code is routine and symbol names that might have otherwise been stripped by the deployment build.
This only applies to unexported C and C++ routines. Routines names from Objective-C code gets included no matter what.
So unless you're worried about revealing the names of your C routines, I don't see any security risk.