我想制定一种方法来防止我的应用程序被盗用,或者至少使其更难。该应用程序将安装在独立的个人电脑中,我想让个人难以简单地复制安装或复制硬盘驱动器,并将其部署到第二台PC上。 正在使用MAC地址的最佳方式?如何使用WMI获取主板ID?将Java应用程序锁定到特定的PC
2
A
回答
1
您可以根据网卡的MAC地址或PC名称(较弱的保护)生成一个机器ID,然后生成一个将机器ID转换为激活密钥的算法。
因此,您可以根据基于PC的唯一标识符激活程序。 然而,没有简单的方法来计算JAva中唯一的机器ID ...如果您只在Windows上运行应用程序,则可以从WMI中读取一些其他硬件值,并混合(例如,您可以混合使用HD Serial + MB serial + CPU Serial + Mac Address)将它们组合成一个密钥,这将强化更好的保护。
请记住,如果你在你的应用程序放在一个保护系统,你也至少应该混淆你的字节码,因为Java字节码是易于反和一个程序员,这将反编译你的应用程序将能够发现和使用algoritm那你整合了验证码...
1
我个人觉得在机器中使用标识符对客户来说不是很友好。当他们购买新机器并想要安装他们在新机器上合法购买的软件时会发生什么?
如果你要实现这样的东西,我相信最好是生成某种安装密钥并将它发送到你管理的web服务。然后,您可以查看某个密钥是否被大量使用并将其停用。
1
正常的java手段根本不存在。例如,通常应该使用MAC地址进行散列的UUID在java实现中并不如此。您可以做的是通过WebStart分发应用程序,提供定期更新机制并执行许可证检查。
相关问题
- 1. 在锁定用户的PC上更新应用程序
- 2. Java控制台应用程序锁定
- 3. 锁定在Java EE应用程序中
- 4. 将应用程序锁定到Cocos2D v3的一个特定方向
- 5. 将SQL Server锁定到Web服务器上的特定应用程序
- 6. Java程序,程序锁定
- 7. ASP.Net应用程序锁定
- 8. Android锁定应用程序
- 9. 锁定应用程序
- 10. 杀死特定的Java应用程序
- 11. 锁定应用程序到屏幕
- 12. Java线程锁定特定对象
- 13. 将API锁定到特定的URL
- 14. java小程序域锁定
- 15. 将我的iPhone应用程序锁定为特定语言(本地化)
- 16. 如何将android应用程序定位到特定的国家?
- 17. 将django网址重定向到特定的应用程序
- 18. 将鼠标锁定到应用程序的中心
- 19. 将Android APP锁定到特定设备
- 20. iOS将特定的ViewController锁定到特定的方向
- 21. 独特的Android应用程序连接到Java小程序在PC
- 22. 部署到特定的应用程序
- 23. 通过BLE将Arduino101连接到PC中的Java应用程序
- 24. 将ADB添加到我的Java PC应用程序
- 25. 使用锁定模式锁定应用程序
- 26. 将锁定添加到iOS应用程序
- 27. 如何将应用程序锁定到横向
- 28. 将应用程序方向锁定到横向和传感器
- 29. 将图片排序到应用程序中的特定位置
- 30. 锁定带密码的应用程序
你已经失去了...... – 2012-03-09 19:26:53
攻击者是否需要击败?他们是否可能拦截并重新解释用于检查这些事情的'java.lang.Runtime'和'java.io. *'用来进行系统调用?你是否需要担心Java应用程序正在安装在报告相同机器标识符的克隆VMWare实例上? – 2012-03-09 19:27:01
你的应用程序真的值得这么多努力吗?如果不是,为什么要麻烦?如果是这样,有人会轻易破解它,这是你的努力浪费。 – biziclop 2012-03-09 19:30:34