【问题标题】:Tips or Tools for Obfuscating Objective C Binary? [closed]混淆目标 C 二进制文件的技巧或工具? [关闭]
【发布时间】:2011-05-22 13:50:27
【问题描述】:

我正在寻找混淆静态目标 c 二进制库。

为此向这里的人们推荐了哪些最佳做法或工具?我希望让潜在的黑客更难识别我库中的某些代码的作用。

谢谢!

【问题讨论】:

  • 好吧,我敢肯定那里有工具,但从根本上说,您不应该依赖默默无闻的安全性。混淆有它的位置,但它应该只被视为薄弱的第一道防线。担心与您的尝试无关的攻击者。

标签: objective-c obfuscation


【解决方案1】:

在标题的顶部,您可以执行以下操作:

#define SecurityClass ah7p
#define checkCopyProtection xcyc

【讨论】:

  • 有人能解释一下吗?我找不到有关此方法的任何信息。我不想粗鲁,但这可能只是一个假的,因为它最终被编译器未使用并且什么都没有发生?
  • 很简单。源代码中的人类可读名称在预处理期间被可读性较差的符号替换,并且编译器只看到后者。但是,如果您对二进制代码中的最终名称有任何疑问,请使用编辑器查看可执行文件的内部。
  • 你是对的。在发表这样的评论之前,我应该这样做。我只是想知道你到底是怎么找到这两条线的?有什么方法可以让我研究这个以进一步了解这一点吗?
  • 我没有“找到”这两行,它们只是一个虚构的例子。您可以使用您在代码中使用的任何与安全相关的函数和类来执行此操作。
【解决方案2】:

确保您的编译器设置为剥离链接的产品。通过删除输出函数中的任何标签,这将使黑客更难。不幸的是,您无法从产品中完全删除 Objective-c 信息。所有方法调用都是动态完成的,因此库必须具有有关您的类的信息才能运行。防止黑客使用这些信息的唯一方法是确保您的所有类、方法和实例变量名称都没有提供有关它们用途的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 2020-10-01
    • 2014-12-09
    • 2011-11-08
    • 1970-01-01
    • 2013-02-19
    • 2020-06-11
    • 2010-10-18
    相关资源
    最近更新 更多