首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除ZIP/JAR文件注释

删除ZIP/JAR文件注释
EN

Stack Overflow用户
提问于 2019-05-15 10:39:14
回答 2查看 500关注 0票数 0

当我在我的allatori文件上运行像JAR这样的混淆器时,它会向存档中添加一个注释,上面写着类似于Obfuscation by Allatori Obfuscator http://www.allatori.com的内容。

使用WinRAR,可以通过编辑归档注释来删除此注释。

但是,我没有找到在批处理脚本或Java代码中集成到构建过程中的方法。

怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-24 10:22:55

这就是如何使用WinRAR CLI更新存档文件注释:

代码语言:javascript
复制
for %I in ("E:\YOUR\JAR\LOCATION\*.jar") do @"%ProgramFiles%\WinRAR\WinRAR.exe" c -zBLANK_COMMENT_FILE.txt "%I"

在运行此命令的地方创建一个名为BLANK_COMMENT_FILE.txt的空白文件。

使用管理员访问权限运行此命令。

希望这能帮到你。

票数 3
EN

Stack Overflow用户

发布于 2019-12-24 12:48:42

我想您可以在不复制注释的情况下复制zip文件。

代码语言:javascript
复制
public static void removeComment(Path file) throws IOException {
    Path tempFile = Files.createTempFile("temp", ".zip");
    copyZipFile(file, tempFile, false);
    Files.move(tempFile, file, StandardCopyOption.REPLACE_EXISTING);
}

public static void copyZipFile(Path file, Path newFile, boolean copyComment) throws IOException {
    try (ZipFile zipFile = new ZipFile(file.toFile());
            ZipOutputStream outputStream = new ZipOutputStream(new BufferedOutputStream(Files.newOutputStream(newFile)))) {
        if (copyComment) {
            outputStream.setComment(zipFile.getComment());
        }
        Enumeration<? extends ZipEntry> entries = zipFile.entries();
        while (entries.hasMoreElements()) {
            copyEntry(zipFile, outputStream, entries.nextElement());
        }
    }
}

private static void copyEntry(ZipFile zipFile, ZipOutputStream outputStream, ZipEntry entry) throws IOException {
    ZipEntry newEntry = (ZipEntry) entry.clone();
    outputStream.putNextEntry(newEntry);
    IOUtils.copy(zipFile.getInputStream(entry), outputStream);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56147355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档