栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

制作商业Java软件(DRM)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

制作商业Java软件(DRM)

我在一家销售 受保护的 Java软件的公司工作。

我不会评论用户身份验证方案,但可以评论在线许可证检查。

甚至不要让它“工作两天”:这就是我盗版大多数软件的方式…虚拟机设置为“及时返回”并在外部进行防火墙保护,以使其不再“回拨”(即:仅允许它必须与服务器联系一次,以获取试用密钥),并且总是从重新安装软件和宾果游戏的那一刻开始重新映像,因此30天的试用期(或两天的试用期)已成为终身试用。我为什么要这样做?当然,要学习如何更好地保护我们的应用程序;)(好吧,我也只是为了好玩而已)

我们在商用Java软件中所做的是在每次启动时都要检查许可证。

我们有数百名客户,却从未有人对此bit之以鼻。不止一次。我们在每次运行时都会生成一个唯一的类,该类在每次运行时都不同,这取决于客户端启动时唯一的事物以及服务器端一次生成的事物。

除了在每次启动时让应用与您的服务器联系之外,它还是一种收集分析数据的好方法:下载到试用比率,每次试用的平均启动次数等。而且,除了在每个网页上都具有Urchin
/ Google Javascript跟踪器外,它也不再令人讨厌真讨厌

只需向人们表明您的软件可以执行在线许可证检查即可:我们没有打开或关闭一个巨大的复选框,其中说:“在线许可证验证:确定/失败”。就是这样。人们知道有支票。如果他们不喜欢它,他们会使用劣质的竞争对手产品,并且生活会很好。

人们习惯于生活在有线世界中。

由于互联网连接断开,您多久 不能 访问GMail?由于互联网连接断开,您多久 不能 访问FaceBook或SO?

重点是:取决于服务器端进行尽可能多的计算:

  • 许可证检查
  • 保存用户首选项
  • 备份您的应用程序生成的数据
  • 等等

没有人会抱怨。您将有0.1%的用户抱怨,并且无论如何您都不希望这些用户:他们是会抱怨其他事情并在线发布有关您的应用的负面反馈的人。您最好让他们根本不使用软件,并抱怨它需要始终在线的互联网连接(99.99%的目标人口,因此他们不会在意该抱怨),而不是实际使用它们该应用程序,并抱怨与您的应用程序相关的其他事情。

关于反编译,通常可以将.cl​​ass反编译为.java,除非您使用的代码流混淆器生成有效的字节码,但无法从.java文件生成(因此无法获取有效的.java文件)
)。

字符串混淆器有助于更难弄清。

源代码混淆器使查找起来更加困难。

像免费的Proguard这样的字节码混淆器使查明它变得更加困难(并且产生更快的代码,尤其是在移动世界中引人注意)。

如果仅运送Windows / Linux,则可以使用Java到本机的转换器,例如Excelsior
Jet(这不是免费的,对于启动公司来说有点贵,但是它会生成本机代码,您根本 无法从中 找到.java文件)。

有趣的是,您会看到有人试图弄乱您的在线服务器…在大约30个Beta测试人员中,我们已经有人(我们知道该试验的一部分)试图盗版我们的在线服务器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号