Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
混淆java web应用程序_Java_Obfuscation - Fatal编程技术网

混淆java web应用程序

混淆java web应用程序,java,obfuscation,Java,Obfuscation,据我所知,混淆java web应用程序只会使您的应用程序更难阅读,但反向工程仍然是可能的 我的目标只是让它很难读取,并且无法反编译和运行(不确定这是否可行,我想它仍然会使用难看的变量名运行??) 所以变量名如下: 字符串username=“asdfsadf” 将成为 字符串aw34Asdf234jkasdjl_asdf2343=“asdfsdaf” 这是否正确: 公共类和变量将保持不变 只能重命名私有字符串/类/方法 字符串加密可用于加密密钥等敏感字符串数据 实际上,我的目标是让某些人不能只是反

据我所知,混淆java web应用程序只会使您的应用程序更难阅读,但反向工程仍然是可能的

我的目标只是让它很难读取,并且无法反编译和运行(不确定这是否可行,我想它仍然会使用难看的变量名运行??)

所以变量名如下:

字符串username=“asdfsadf”

将成为

字符串aw34Asdf234jkasdjl_asdf2343=“asdfsdaf”

这是否正确:

  • 公共类和变量将保持不变
  • 只能重命名私有字符串/类/方法
  • 字符串加密可用于加密密钥等敏感字符串数据

  • 实际上,我的目标是让某些人不能只是反编译并发布代码。

    这里的问题是,在编译代码时,代码需要使用正确的java语法。因此,无论您应用了什么样的模糊处理,如果我能够访问字节码,我都可以找到一种重建源代码的方法

    ()


    您需要做的是将软件的专有部分保存在您的盗版者看不到的地方。据我所知,这是避免劫持您的软件的唯一方法。

    有很多优秀的Java模糊处理程序,它们可以按照您的要求进行操作,而且还有很多其他功能。以下是来自谷歌的一些信息:


    尽管这会使读取反编译代码变得更加困难(有些反编译程序甚至拒绝尝试),但请记住,如果有人拥有二进制代码,并且知识渊博且足够耐心,那么他们总是可以对代码进行反向工程。

    您无法阻止java代码被反编译并运行。即使它是模糊的,也可能有人仍然能够理解你的代码在做什么,尽管有模糊。您发布的所有内容都可以进行反向工程

    其他语言在防止反编译和调试方面做了更大的努力,例如磁盘拷贝保护解决方案,甚至它们经常被反向工程和黑客攻击


    如果您不希望人们对您的代码进行反向工程,请让它只运行服务器端,不要发布它,并尽可能地强化服务器。

    Web应用程序运行服务器端。客户不会看到代码,除非你把事情搞砸了。

    免责声明:我为Excelsior工作


    免责声明:我不为Arxan工作。

    任何模糊处理都不能防止您“再次反编译和编译”(不尝试理解代码的功能)。反编译器不关心不可读的变量名,编译器也不关心

    顺便说一句,如果有人可以访问您的代码,他们不需要反编译来使用它

    所以问题是:你想要实现什么?当你知道这一点后,你可以进入下一个问题:它需要多少钱,我能挣多少钱

    通常,这个等式是:你无法从模糊处理中节省/赚取任何金钱,但这样做会花费你的时间和金钱(好的模糊处理程序不是免费的)。所以这是一个负的投资回报率

    相反,尝试这种方法:创建一个伟大的产品(这样人们就会觉得为它付费是合理的),快速修复bug(->窃贼不得不一次又一次地窃取你的作品以跟上进度),添加新功能。这样,诚实的消费者就有理由向你购买


    如果你打算从小偷和罪犯那里拿钱,那就算了吧。不管怎样,他们都不想付钱给你。你可以让他们的生活变得更艰难,但这是要付出代价的。

    重申一下,反向工程的源代码仍然会被混淆;反向工程通常指的是“手工”反编译的代码,这对于混淆的字节码来说很难做到。你害怕向世界展示你的代码吗P“您发布的所有内容都可以进行反向工程”--正确。关键是逆向工程的成本是多少。