我喜欢在 Go 中提取一个 .jar 文件。我尝试了不同的方法来构建库,但没有成功。在 buff 中是我尝试分析的 JAR 的一小部分。错误也发生在完整的字节数组上。
舰队:
buff := []byte{80, 75, 3, 4, 10, 0, 8, 8, 8, 0, 239, 77, 77, 78,
147,
98, 6, 159, 116, 0, 0, 0, 132, 0, 0, 0, 20, 0, 0, 0, 77, 69, 84, 65,
45, 73, 78, 70, 47, 77, 65, 78, 73, 70, 69, 83, 84, 46, 77, 70, 37,
140, 49, 14, 194, 48, 12, 0, 247, 72, 249, 131, 63, 16, 43, 128, 88,
178, 181, 221, 144, 178, 178, 91, 196, 64, 32, 184, 81, 28, 42, 248,
61,5, 214, 187, 211, 69, 146, 124, 102, 237}
b := bytes.NewReader(buff)
zr := flate.NewReader(b)
if _, err := io.Copy(os.Stdout, zr); err != nil {
log.Fatal(err)
}
if err := zr.Close(); err != nil {
log.Fatal(err)
}
fmt.Println()
错误:平坦:偏移量 5 之前的损坏输入
zlib:
b := bytes.NewReader(buff)
r, err := zlib.NewReader(b)
if err != nil {
panic(err)
}
io.Copy(os.Stdout, r)
r.Close()
错误:zlib:无效标头
维基百科说 JAR 是 zip 的扩展,普通的压缩程序可以解压它们。任何想法如何让这个工作?喜欢添加工作标题还是我的代码错误?
MMTTMM
相关分类