反编译Objective-C库

Cy.*_*Cy. 44 xcode decompiling cracking objective-c

我刚刚在Objective-C中完成了一个库,我将其编译为静态库以进行分发.

我想知道这种反编译的机会是什么.

  • 你知道任何可以做到这一点的软件吗?
  • 如果是这样,我怎么能更好地保护我?

编辑:我的静态库是为iPhone/ARM制作的

我创建了一个算法,根据应用程序的一些参数,它可以作为演示或完整代码运行.使用X变量初始化对象并解锁完整版本.我想知道他们是否能够看到这个算法,这样他们就可以创建一个密钥生成器.

Chu*_*uck 83

如果它执行,它可以被反编译.由于其动态特性,Objective-C特别易于反编译成可读代码.如果你想让事情变得更加困难,你可以用普通的C编写大部分代码并删除可执行文件 - 这当然会让你的应用程序设计难以管理.但老实说:如果有人想破解你的代码,你就无法阻止他们.饼干几乎拥有无限的时间和热情,并且实际上会因为你为阻止它们所做的任何新的努力而感到兴奋.目前还没有人制造出无法破解的软件,而且世界上最大的公司都在尝试过.你不会比他们做得更好,特别是如果你需要在Stack Overflow上询问它.

花点时间来阻止反编译并使用它来改善产品 - 这将带来更好的投资回报率.

  • "你不会比他们做得更好,特别是如果你需要在Stack Overflow上询问它." - 哈哈... (75认同)
  • "并且实际上会因为你为阻止他们所做的任何新的努力而感到兴奋"Lol ......好吧. (4认同)

Rob*_*ier 59

目前尚不清楚你想保护自己什么.是的,它可以进行逆向工程.最简单的工具是otool标准开发人员分发的一部分:

otool -tV <library>
Run Code Online (Sandbox Code Playgroud)

从那以后他们就会遇到像IDA Pro这样的东西,它支持iPhone并且非常适合这种工作.介于两者之间,我真的很惊讶我还没有看到iPhone/ARM otx的返工.看到一个人最终出现,我不会感到惊讶.当然,如果你想弄清楚事物如何流动以及数据在不同点上的含义,那么就有gdb.

如果您有关于您要保护自己的内容的更多详细信息,可能会有一些有针对性的答案.除此之外,请阅读Chuck的评论.

  • 我看到了编辑.对于您的问题,是的,使用调试器,他们将能够创建密钥生成器.但他们不会打扰.他们只是修改二进制文件以跳过密钥检查.不要太担心.如果您的图书馆非常受欢迎,以至于人们在制作假钥匙时遇到了麻烦,那么它很受欢迎,无论如何您都会赚很多钱.当你在所有面团中滚动时担心它.如果你浪费你的时间进行模糊处理(这无济于事),那么你将永远没有足够的时间制作出任何人都会购买的超棒产品. (2认同)

jam*_*one 5

ChanceGetsDecompiled = ExpectedGainFromBeingDecompiled/PopularityOfLibrary

好吧,如果你真的想知道我会尝试反编译你的自我.您不会说这是否适用于PPC,Intel或ARM,这些都有所不同.这是Intel i386 Decompiler的反编译器

我不知道你能做什么(我认为没有多少)限制这个.代码始终可以进行逆向工程.很高兴您不使用java或.net.他们的反编译非常好.