ski*_*iwi -1 java security obfuscation jar deobfuscation
让我们假设经过几年的工作,我将准备一个3D游戏,可以被全球数百万人下载,它将是一个运行在客户端 - 服务器模型上的游戏.
据我所知,如果他们拥有.jar(在这种情况下是客户端),任何人都可以查看其他人的源代码.拥有客户的其他人有什么风险.jar?
检查部分(反作弊)无论如何都将在服务器端完成,所以我怀疑这里会有很大的风险,但我只是希望能够很好地了解可能发生的事情,所以更准确一点问以下问题:
我想过把它放在gamedev上,但我认为它更适合这里,因为它直接关于编程语言 - Java - 和抽象编程问题.
在这一点上,我应该强调所有意见都是我自己的,并不一定反映我的雇主的意见.
不,如果他们有罐子,他们就看不到你的源代码.他们可以将它反编译成等效的源代码,这将非常难以阅读,但可以理解......正如他们可以解组目标代码(无可否认,这有点难以弄清楚).代码混淆确实会减慢它们的速度,但那些愿意这样做的人也习惯于处理它.Java的是比其他一些语言被反向工程更加脆弱.
复制保护通常只是为了让诚实的人诚实.幸运的是,大多数人至少是中等诚实的.不诚实将其视为产品附带的免费拼图.你可以放慢速度.但实际上,除非你使用特定类型的硬件辅助安全性(基本上,在一个单独的封装机器内运行程序的关键部分),否则你无法阻止它们 - 这往往会导致成本增加和/或惹恼人们他们避免你的产品.大多数公司转而采用一种模式,要求注册代码以获得升级,支持,在线服务或任何其他......并且要么假设某些盗版将要发生,或定价足够低,要么定价盗版它是不值得的.
或者,对于商业代码,在法庭上追踪盗版.对于严肃的代码,大多数公司都非常清楚,通过允许盗版复制到他们可以通过盗版保存的方式,他们还有更多的损失; 我看到员工当场因制作盗版文件而被解雇.
事实上,一些公司已将"盗版"作为其商业模式的一部分."如果你从朋友那里得到这个程序,并且你喜欢它,请考虑向我们发送资金以支持开发人员和/或购买升级到当前版本." 令人惊讶的是,对于好产品,很多人都非常愿意自愿付款.不是每个人,但它有帮助.
解决有关更改代码的问题:
我不是律师,你应该为这个问题咨询一下,但我最了解的是你没有新的责任.如果他们弄乱了代码,那就是他们的错,他们的问题.
在单人游戏环境中,他们所能做的就是搞乱他们自己的副本.如果他们打破了,那就是他们的问题.如果他们作弊,他们只是在为自己付出的游戏体验而欺骗自己.
多人游戏是一个更大的问题; 如果他们对游戏进行逆向工程,他们就会弄乱你的数据库和其他玩家的游戏体验.据我所知,解决这个问题的唯一方法是将服务器设计为(a)仅允许客户端执行不会造成太大损害的事情,以及(b)观察玩家行为以尝试检测滥用行为将球员滥用出系统.这很烦人,但这是现实.如果你能证明你已经做出了合理的努力来做到这一点,它应该保护你免受这个级别的任何可能的责任....但是,我不是一个律师,程序员的免费法律建议就像免费编程律师的建议......
建立自己的游戏镜像你的:如果你能检测到他们正在访问你的服务器,这是合法的可操作性.如果你有像俄罗斯方块或Minehunter这样简单的东西那么你就会得到仿制品,除非你愿意在法庭上追求它们,否则除了提供升级之外你无能为力.注册球员认为淘汰赛不会得到.如果你写了一些复杂的东西,那么为了复制你的东西,他们可以创建自己的东西,所以这不像纯粹的盗版那样是一个问题.
而就远东地区的工业级盗版而言......再次,确实没有一个好的答案.
如果您找到实际有效的解决方案,那应该是您的产品; 世界将打败通往你家门的道路.但从长远来看,我真的不认为这是可能的; 你所能做的只是放慢速度并使用版权和许可协议,并建立一个忠诚的粉丝基础,他们宁愿与你合作而不是与你合作.
| 归档时间: |
|
| 查看次数: |
630 次 |
| 最近记录: |