gpt4 book ai didi

java - 为什么 .jar 文件中的 .classes 文件的名称看起来很奇怪?

转载 作者:行者123 更新时间:2023-12-01 11:16:37 25 4
gpt4 key购买 nike

我使用JD-GUI反编译了一个.jar文件,其中有很多名称奇怪的包,如abcd 等等。类也是如此,因此一些 .class 文件也被命名为 a.classb.class 等在。

我不认为开发人员命名包或 Java 文件的方式会导致他们以后无法识别每个文件的用途。我相信这是因为其他一些技术问题。有人可以清楚地说明这个问题吗?

最佳答案

您反编译的 Jar 可能使用 ProGuard 进行保护。 :

By default, compiled bytecode still contains a lot of debugging information: source file names, line numbers, field names, method names, argument names, variable names, etc. This information makes it straightforward to decompile the bytecode and reverse-engineer entire programs. Sometimes, this is not desirable. Obfuscators such as ProGuard can remove the debugging information and replace all names by meaningless character sequences, making it much harder to reverse-engineer the code. It further compacts the code as a bonus. The program remains functionally equivalent, except for the class names, method names, and line numbers given in exception stack traces.

仍然可以对程序进行逆向工程,但这样做然后重复使用代码通常是非法的(至少在美国,我有经验的唯一国家),因为这是一种许可违规行为。使用此类工具的人几乎总是不编写开源软件。

关于java - 为什么 .jar 文件中的 .classes 文件的名称看起来很奇怪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com