在Windows上的JAR文件中具有相同大小写的文件

时间:2015-10-08 22:35:16

标签: java obfuscation bytecode zipfile winrar

我在我的一个旧项目中编辑字节码来修复错误,因为我不再拥有源代码。一切都很好,花花公子,直到我重新插入修改后的课程。

当我们发布它时,代码被混淆了,所以我有两个文件:hl.class和hL.class。 hl.class是我重新插入的那个,但是使用WinRAR导致hl.class只替换hL.class并删除旧的hl.class!这很烦人,我无法弄清楚如何重新插入该死的文件。

Somehow the obfuscator put them here, but I can't change it without the file system freaking out

有没有人有任何见解?是否有关于此的节目不会是这样的天籁?

谢谢!

2 个答案:

答案 0 :(得分:2)

简而言之,请使用更好的拉链工具。我假设您使用不区分大小写的文件系统而停留在Windows上。即使没有GUI zip工具可用,您也可以随时打开Python命令提示符,该命令提示符允许以编程方式访问zip文件,包括指定要插入的内容的确切文件名。

如果您可以访问Linux或Mac计算机,那就简单多了。只需正常编辑文件并将其放回zip中即可。由于hl.class和hL.class具有不同的文件名,因此不会有任何问题。

P.S。另一个选项 - the Krakatau assembler具有将类文件直接输出到jar的选项,允许您即使在Windows上也能正确处理区分大小写的文件名。 Krakatau对于类文件的低级修改也是一个很好的工具。 (披露,我写了)

答案 1 :(得分:0)

我实际上在发布此消息时找到了解决方案,对不起,我忘记回复并发布了!

如果您使用的是像我这样的Windows机器,我找到了一个名为muCommander的便捷程序,它是一个不区分大小写的跨平台文件管理器。我设法用它来获取文件。

还有一些注册表值可以调整以使Windows识别区分大小写的文件,但我推荐上面发布的程序以使其更简单。

谢谢大家!