我想知道可以从二进制文件中获取源代码以及可以采取哪些措施来保护其内容。特别是我感兴趣的是昂贵的商业软件,例如CAD系统或ERP系统使用这种保护。
我知道反编译可以为您提供汇编程序代码,从中可以了解例如C或C ++代码看起来像。我也知道没有函数或变量名,因此数据结构看起来会非常不同。
但是额外的保护机制是否应用于昂贵的软件?
答案 0 :(得分:0)
您无法对任何应用程序的反汇编代码做很多事情,因此只有值得隐藏的重要内容才能获得一些保护措施。
可以简化为:
算法(即使许多算法来自学术研究,你也不希望你的竞争对手知道你正在使用哪一个)。
DRM执法相关代码。
嵌入式设备,您是不是处理消费者盗版,而是使用硬件克隆。
恶意软件和后门。
如果您以某种方式控制使用代码的硬件(如UEFI信任链或嵌入式设备),您可以在某种程度上控制代码的使用方式。在这种情况下,代码的加密是一种替代方案,其中密钥存储在硬件上难以访问的地方。
否则,你唯一的威慑就是代码混淆。