当前位置: 首页 > 知识库问答 >
问题:

锁定Jar文件,将源文件隐藏在. jar文件中

黎震博
2023-03-14

我目前正在使用Java服务包装器。它工作得很好,我可以使用我的可执行jar将其作为服务安装,甚至在将其作为服务安装时传递VM参数。

但由于这将在这里和那里部署,我想知道如何防止人们检索Jar文件中的源文件。这可能吗?我正在考虑将jar文件转换为。exe文件,并将其作为这样的服务安装,因为我发现有几个工具能够做到这一点。但他们似乎不允许我传递VM参数。

有人知道我该怎么做吗?

共有1个答案

朱鹤轩
2023-03-14

您的用户必须能够运行您的<代码>。jar文件。所以你不能阻止他们知道正在运行的代码,同时也让他们运行你的代码。对于最常见的反编译和反向工程策略,您只能努力使其变得困难。

如果您必须隐藏代码,以下是一些选项:

>

  • . jar文件已经阻止人们查看源代码。在. jar中查看,您不应该看到源代码. java文件(除非您特别选择包含它们)。必须包含. class文件,它们可以反编译为机器可读的程序等价物,但不容易阅读或理解。

    用C重写程序,然后在源代码上使用模糊程序并从中编译。这是你所能做到的最大程度的锁定和隐藏。任何看过你的代码的人都会看到完全人类无法理解的胡言乱语,很难修改为可以理解的,只需观察程序行为并编写一个新的模仿程序就变得容易多了。

    将jar文件转换为。exe for windows:如何将Java程序转换为。exe文件?

    核选择:

    如果你有外星飞船/钢铁侠套装的源代码,并且你必须不惜任何代价隐藏这个代码,那么你需要在使用你的程序时删除使用它的用户的权利和自由。必须不允许任何一个用户足够近地观察或理解你的程序,以了解它是如何做的。第三方必须参与随机化和混淆,不仅是代码本身,而且是用户如何理解任务正在完成的感知。雇佣的暴徒或恶意软件可以监控用户对程序的使用,如果它检测到用户试图理解或构建您的代码的暗示,就可以电死用户或自毁。源代码必须具有自我意识,并在可疑行为时删除自己。

    微软和XBox正在使用这些策略,它们通过编写硬件和软件来剥夺用户的权利和自由,如果你惹恼了母公司,它们就会自己动手。捡起那个可以成为公民的人。别逼我骗你。

  •  类似资料:
    • 人们可以很容易地提取<代码>。jar文件,请参阅源代码。我想保护源代码不被看到。一个可能的答案是像对zip文件那样对文件进行密码保护。 但是,如果密码是已知的,那么源代码就可以很容易地看到。 有没有办法隐藏源代码并使其能够运行?类似于〈代码〉的东西。exe在Windows中执行。这应该在windows和Linux环境中运行。

    • 问题内容: 在jar文件中隐藏某些类真的是不可能的吗? 我不想允许类的直接实例化以使其更加 灵活。该罐子只有工厂(或外墙)可见。 除了创建两个项目之外,还有什么其他方法可以解决此问题? (两个项目:第一个项目包含类(实现), 另一个项目引用第一个项目并包含工厂;稍后仅 引用第二个项目) 问题答案: 我认为如果您的公共工厂方法尝试返回“隐藏”的东西,您将遇到编译器故障或警告。 不,您不能在不重新实现

    • 启动jar时,控制台会说找不到文件,也没有加载字体。我怎样才能解决这个问题? 我得到了这个密码:

    • 问题内容: 我需要能够访问存储在已编译jar文件中的文件。我已经弄清楚了如何将文件添加到项目中,但是如何在代码中引用它呢?如何将文件从jar文件复制到用户硬盘驱动器上的某个位置?我知道有很多方法可以访问文件(FileInputStream,FileReader等),但是我不知道如何查看自身。 问题答案: 您可以使用如下形式: 如果foo.txt位于JAR文件的根目录中,则可以使用: 我相信,假设该

    • Linux 下,名称中第一个字符为 . 的文件或者文件夹,系统会将它们隐藏起来。传统上,这种文件大多是用户的配置文件。 您可以尝试以下操作: cd ~ #进入您的用户目录 ls #查看当前目录下的文件列表 ls -a #查看所有文件的文件列表(包括隐藏文件)。 如果您只想查看隐藏文件,而不包括这两个特殊目录,您可以使用 ls 命令的选项 -A (ls -A) 每个目录下都包含

    • 但我进的是空异常。有什么问题,有人能帮忙吗?