java – 这会使Decompiling / Cracking变得更难吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 这会使Decompiling / Cracking变得更难吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1702字,纯文字阅读大概需要3分钟。
内容图文
![java – 这会使Decompiling / Cracking变得更难吗?](/upload/InfoBanner/zyjiaocheng/735/8da2c62d651144faaeedeb82d73e13fd.jpg)
我目前正在开发一个商业Java应用程序,我正在尽最大努力保护它免受破解.
我有几个想法,我希望在该领域有更多经验的人可以帮助我清除它们.
我正在用服务器/客户端许可证系统保护我的软件.
简单解释许可证的工作原理:
>用户在线购买软件,并通过hist License Hash通过电子邮件发送.
>用户下载软件,并输入电子邮件中提供的许可证哈希值
>如果以前使用许可证,则软件在线检查,如果没有,则将其标记为已使用,并将用户的硬件ID链接到数据库中.下次用户登录时,服务器会将其HWID检查到提供的许可证,如果无效,则将用户从软件中踢出.
>成功验证后,软件从服务器下载并加载变量,软件无法运行.
>我的软件不断检查服务器是否有变量(步骤4),并且从不加载所有变量.
服务器/客户端之间的通信使用安全的SSL REST API进行.
我的软件使用Proguard进行模糊处理/保护.
这种方法是否足够好以防止破解,如果不能提供一些额外的技巧来使这种方法更好?
非常感谢.
解决方法:
防止破解的唯一100%证明方法是将整个业务逻辑移至云端.如果应用程序在客户端的计算机上运行,??则可以将其破解.唯一的问题是,如果您的软件足够有趣,黑客会花时间使用它.
听起来您已经使用了混淆器,将一些数据移动到云中并按需获取.我会说你已经受到入门级黑客和一些“IT专家”的保护.我不会花更多的精力,如果更高级别的“黑客”想破解它,他们会.无论您使用什么加密,密钥(以及使用的算法)都将在您的应用程序的内存中,因此可以获得这些密钥.
现代DRM工具通过从发布的二进制文件中剥离代码的重要部分(不仅仅是变量),并从服务器上按需获取它们.他们试图为只能在特定客户的机器上运行的间隙提供这样的代码(例如,通过编译市场上每个不同处理器的代码,确保代码不会在其他模型上运行),所以收集每个可能硬件的所有缺失部分是不切实际的(或至少需要很长时间).但是使用Java很难实现.
您应该考虑的另一件事是:在每个版本中更改许可算法,并进行频繁更新.这样,真正的客户可以无缝地获得新功能和错误修正,但使用破解版本的人每次都必须搜索新的裂缝或坚持旧版本.最终他们中的一些人可能决定购买软件以避免不便.
内容总结
以上是互联网集市为您收集整理的java – 这会使Decompiling / Cracking变得更难吗?全部内容,希望文章能够帮你解决java – 这会使Decompiling / Cracking变得更难吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。