mar*_*cog 5 objective-c debug-symbols ios
我试图剥离我们的iOS应用程序二进制调试符号,使黑客更难修改二进制文件.我已经尝试了两个xcode的符号剥离(启用条带链接产品和部署后处理)和使用"strip -S -x".两者都减少了符号的数量,但是通过"字符串"运行二进制文件仍会返回大量的命中.
知道如何删除它们吗?
mtt*_*trb 13
Objective-C是一种动态语言.方法调用在运行时基于选择器解析(实际上方法名称为字符串).这与C++之类的语言不同,后者在编译/链接时绑定方法调用.
从二进制文件中删除方法名称(选择器)会使应用程序无法使用.
用Objective-C编写的应用程序在涉及内部时非常开放.只要看看像工具otool,class-dump,F-脚本或DTrace的,看看有多少是在运行中的Objective-C的应用程序访问和修改.
但是,有一些链接器标志(P_LNOATTACH)可以阻止DTrace连接到正在运行的应用程序.你也可以ptrace用PT_DENY_ATTACH旗子打电话.iTunes是一个应用程序的例子,因为Apple不希望你在他们的DRM内部进行探索.
似乎有一篇关于Objective-C代码混淆的帖子.查看iPhone/iPad应用程序代码混淆 - 可能吗?值得?更多细节
| 归档时间: |
|
| 查看次数: |
3805 次 |
| 最近记录: |