我很好奇,不考虑晚上用Java编写某些代码,因为反编译是多么容易。有没有一种方法可以让我不用担心反编译,而用Java编写呢?我知道如果有足够的时间,任何都可以被反向设计,所以我想问的是: Java混淆器是否足够有效,足以阻止分解?
发布于 2010-02-11 03:34:31
Java类混淆器是否足够有效地阻止分解?
我会说“不”。当我为了找出某人是如何做某事而对源代码进行反编译时,我已经知道我在寻找什么了。所以我不需要理解整个程序--这是我当时感兴趣的一部分。由于对方法有足够的困惑,并且在调用链上有一点回溯,所以通常可以在不花费过多精力的情况下确定引擎盖下的是什么。
发布于 2010-02-11 05:32:14
如果你的问题是我能确保没有人能破解我的代码,那么答案将是否定的。无论是在JAVA中还是在VisualC++中。只要你的软件是由byes或位组成的,黑客就可以直接访问。
原因很简单。
--不管你怎么编码,都可以解码.
最好的策略是创建一个web服务并在那里部署您的秘密逻辑。让其他人使用您的服务,而不访问您的写作方式。
发布于 2010-02-13 14:04:53
在Java和其他语言中,混淆只是一种威慑。它只是提高了攻击者的门槛。这并不意味着混淆是没有价值的,它只是一个保证。
你想保护什么,你瞄准的是哪种市场?
在一个充斥着盗版的市场上,混淆保护许可算法并不意味着什么。然而,对于SMB来说,这可能足以消除大多数临时盗版。
如果你试图保护知识产权不受竞争,我看到两个答案。这个想法很难保护。一位有能力的工程师在查看代码时会发现逻辑的精华,并能够重新实现。混淆将使人们更难仅仅捡起代码并将其包含在自己的产品中。当他们试图进行更改时,维护成本将继续增长(我想说,对于清爽的反编译代码也是如此)。
我为我的公司开发的java产品被混淆了。他们保护我们不被偷窃.我怀疑。但是,在我们开发成本的背景下,混淆并不是那么昂贵。以较低的价格提供少量的保护并不是一种坏的权衡。
https://stackoverflow.com/questions/2242055
复制相似问题