yum*_*oji 1 xcode llvm ios bitcode
我们正在在线分发iOS软件模块.因为,Apple正在倡导bitcode甚至强制某些设备上的应用程序(watchOS/tvOS) - 迫使我们用bitcode提供这个软件模块(静态库).
关注的是bitcode如何安全地从任何人进行逆向工程和反编译(如java字节码)以及如何防范它?任何人都可以轻松地从网站下载库并从中提取bitcode(IR)并进行反编译.这里有一些有价值的信息
https://lowlevelbits.org/bitcode-demystified/
Bitcode可能不会关注应用程序,因为苹果会剥离它,但肯定似乎是静态库的一个问题.
任何见解?
正如链接所指出的那样"犯罪分子可以获取你的应用程序或库,从中检索[代码]并窃取你的'秘密算法'."是的.完全正确.
此外,如果您运送非bitcode库,"malefactor可以获取您的应用程序或库,从中检索[代码]并窃取您的'秘密算法'."
此外,如果您运送非bitcode应用程序,"犯罪分子可以获取您的应用程序或库,从中检索[代码]并窃取您的'秘密算法'."
没有这种情况并非如此.像Hopper一样便宜的工具(我选择的工具,但也有一些更便宜的解决方案)并且精心制作,因为IDA可以将您的功能反编译成可通过的C代码.
如果您正在使用Cocoa(ObjC或Swift),那么您可以更容易地进行逆向工程,因为动态内省Cocoa非常容易.
这不是一个可解决的问题.应用程序和库都可以尝试使用混淆技术,但它们很复杂,很脆弱,并且通常需要大量的费用或专业知识(通常都需要).无论如何,当人们破坏它时,你需要不断改进你的混淆.这对于一个库来说是毫无意义的,因为一旦它泄漏,你几乎没有可以重新保护,但是你可以试试.
它会泄漏.这是不可解决的.Bitcode并没有改变很多.读取IR可能比ARM装配更简单,但不是那么多,当然,如果您要保护的东西很小(如小算法或密钥).
那里有一些混淆的供应商.Stack Overflow的产品推荐是偏离主题的(因为它们会吸引垃圾邮件),但搜索"ios混淆"并找到它们.在这个领域,由于它只是"棘手的隐藏"(不是安全或加密),你通常得到你付出的代价.开源解决方案毫无意义,因为整个过程都很棘手并隐藏了你的工作方式.我已经使用了一些开源混淆库,这些库可以更容易地从代码中提取秘密(因为它们很容易被反转,并且它们的使用标记了代码中隐藏内容的部分).
如果这对您的业务计划很重要,那么就要预算,并期望它会引入一些具有挑战性的错误,并且预计它会被破坏(但可能需要更长时间).
| 归档时间: | 
 | 
| 查看次数: | 717 次 | 
| 最近记录: |