使用.htaccess保护.jar?

时间:2013-03-24 12:37:48

标签: java php

我想阻止我的游戏客户端反编译。 有没有我可以选择如何用.htaccess或任何其他方法保护.jar文件的选项,以便客户端(浏览用户,通过applet加载客户端)将无法获取文件&反编译它。

我总是想知道是否有解决方案,是吗?也许创建一个crypt代码,每当服务器试图获取客户端jar时,它都会通过GET发送一个crypt代码,如果crypt代码匹配,它将从该页面加载客户端,我不知道,应该有一个解决方案?

谢谢!

3 个答案:

答案 0 :(得分:1)

对于浏览器执行applet,需要下载包含applet代码的jar文件。如果它下载它,它可用于反编译。为了保护您免受这种影响,您可以对字节代码进行模糊处理,或者根本不使用applet,只需使用传统的Web应用程序,代码位于服务器端,客户端只能看到HTML和JavaScript代码。 / p>

答案 1 :(得分:0)

没有。你可以阻止浏览器获取文件,但是它将无法运行它。

  

也许创建一个加密代码,每当服务器试图获取客户端jar时,它都会通过GET发送加密代码,如果加密代码匹配,它将从该页面加载客户端,

用户可以看到代码并仍然可以获取文件。

答案 2 :(得分:0)

您可以执行 nothing 以防止用户获取未加密的字节码。

<强> NOTHING。

用户的机器需要未加密形式的applet字节码才能执行它们。由于用户(具有足够的知识)完全控制了他的机器所做的事情,因此您可以假设控制将扩展到允许他/她在解密它们的某个点拦截字节码。

如果用户可以拦截applet的字节码,那么他/她可以更改它们以击败你放入代码中的任何聪明的东西。这包括更改字节码以取消用于检测字节码更改的任何措施。

  

“只是这样做,所以他们必须在浏览器中使用它,然后检查他们是否从我们的网址访问它”这可行吗?

不。用户可以修改applet以删除该检查。

  

“你也可以让php创建一个带有散列的会话变量并检查是否存在并且与我们的散列算法匹配”

不。用户也可以修改applet以删除该检查。

  

我不知道,应该有解决方案吗?

不幸的是,除了在服务器端运行需要保护的所有内容之外,没有实际的解决方案。

顺便说一下,这个问题并不是Java特有的。拥有技术知识和动力的人也可以在Javascript中击败任何篡改保护措施,甚至在用户安装的本机代码插件中(如果他足够愚蠢)。