我建议您告知雇主,将软件来源作为先决条件并不能保护他们,也无法得到他们想要的结果。美国在全球经济和全球互联网中竞争。他们认为不安装有效的软件可以获得任何优势或安全性,这听起来有些幼稚。 成为一名优秀的员工、设计师或程序员的一部分是帮助客户认识到他们的限制并克服它们。您应该帮助他们取得更大的成功。
在虚拟机上安装“未经批准”的软件怎么办?
当我听到这种胡言乱语来自于我的政府时,我感到很害怕。
运行jad -p命令,重新编译源代码并将编译后的类与原始类文件进行比较。
您可以在一台临时计算机/虚拟机实例上运行jad。如果编译后的类与原始类有合理的一致性,那么您就知道软件正常运行了。
javap
,猜测了很多东西,并且一遍遍地试错直到解决了要求。由于javap
调用了很多本地代码,所以它没有给我太多我需要的东西。最终,我使用了经过验证的猜测和检查方法得到了我需要的东西。我假设您无法将.class文件从计算机移动到实验室计算机上安装JAD?
我也与政府合作,如果某个软件对项目的成功至关重要,您需要向项目经理传达这一点,然后项目经理会将其传达给政府对应方。之后,应该有一个清单供您的IA评估员遵循以批准该软件。
我假设你在第一时间解编它们是合法的,对吗?我读过的大多数用户协议都规定你不允许反向工程任何东西... 假设这是合法的,那么为什么 JAD 和 JD 不行呢?
我用 DJ Java Decompiler 成功了,虽然它没有 JD 那么漂亮。还有SoThink Java Decompiler,但我个人从未使用过。
还有其他几个,但它们中的大多数似乎都是基于 JAD 构建的,所以我猜它们也不行。
我曾经使用过免费软件cavaj,但我不知道它是不是在美国制作的。
嗯,相当具有讽刺意味,你不能使用反编译器,因为反编译器不是在美国制作的,但你仍然可以反编译代码?
如果你需要知道一个类是用来做什么的,那就问创建它的人要源代码
如果他们拒绝提供源代码,那我认为反编译可能是非法的。
这里有一个想法,你可以把文件发送给其他人进行反编译,然后再把反编译的源代码发送给你吗?
javap
可能就足够了。它更像是一个字节码反汇编器而不是反编译器,但这可能已经足够了。 - Joachim Sauer