From bc4353e8e3f5d421a53ea36677f723c7d6c581d3 Mon Sep 17 00:00:00 2001 From: Matt Dainty Date: Fri, 3 Oct 2025 00:15:08 +0100 Subject: [PATCH] fix: Add ARM64 filter support --- README.md | 2 +- internal/bra/arm.go | 11 +++--- internal/bra/arm64.go | 78 ++++++++++++++++++++++++++++++++++++++++++ internal/bra/ppc.go | 4 +-- internal/bra/sparc.go | 8 ++--- reader_test.go | 8 +++++ register.go | 2 ++ testdata/arm64.7z | Bin 0 -> 49884 bytes 8 files changed, 98 insertions(+), 15 deletions(-) create mode 100644 internal/bra/arm64.go create mode 100644 testdata/arm64.7z diff --git a/README.md b/README.md index c2058fb..6c16475 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Current status: * Handles archives split into multiple volumes, (`7za a -v100m test.7z ...`). * Handles self-extracting archives, (`7za a -sfx archive.exe ...`). * Validates CRC values as it parses the file. -* Supports ARM, BCJ, BCJ2, Brotli, Bzip2, Copy, Deflate, Delta, LZ4, LZMA, LZMA2, PPC, SPARC and Zstandard methods. +* Supports ARM, ARM64, BCJ, BCJ2, Brotli, Bzip2, Copy, Deflate, Delta, LZ4, LZMA, LZMA2, PPC, SPARC and Zstandard methods. * Implements the `fs.FS` interface so you can treat an opened 7-zip archive like a filesystem. More examples of 7-zip archives are needed to test all of the different combinations/algorithms possible. diff --git a/internal/bra/arm.go b/internal/bra/arm.go index 3916a0c..de8676f 100644 --- a/internal/bra/arm.go +++ b/internal/bra/arm.go @@ -19,7 +19,7 @@ func (c *arm) Convert(b []byte, encoding bool) int { } if c.ip == 0 { - c.ip += armAlignment + c.ip = armAlignment } var i int @@ -27,18 +27,15 @@ func (c *arm) Convert(b []byte, encoding bool) int { for i = 0; i < len(b) & ^(armAlignment-1); i += armAlignment { v := binary.LittleEndian.Uint32(b[i:]) - c.ip += uint32(armAlignment) + c.ip += armAlignment if b[i+3] == 0xeb { - v <<= 2 - if encoding { - v += c.ip + v += c.ip >> 2 } else { - v -= c.ip + v -= c.ip >> 2 } - v >>= 2 v &= 0x00ffffff v |= 0xeb000000 } diff --git a/internal/bra/arm64.go b/internal/bra/arm64.go new file mode 100644 index 0000000..128155c --- /dev/null +++ b/internal/bra/arm64.go @@ -0,0 +1,78 @@ +package bra + +import ( + "encoding/binary" + "io" +) + +const arm64Alignment = 4 + +type arm64 struct { + ip uint32 +} + +func (c *arm64) Size() int { return arm64Alignment } + +func (c *arm64) Convert(b []byte, encoding bool) int { + if len(b) < c.Size() { + return 0 + } + + var i int + + for i = 0; i < len(b) & ^(arm64Alignment-1); i, c.ip = i+arm64Alignment, c.ip+arm64Alignment { + v := binary.LittleEndian.Uint32(b[i:]) + + if (v-0x94000000)&0xfc000000 == 0 { + if encoding { + v += c.ip >> 2 + } else { + v -= c.ip >> 2 + } + + v &= 0x03ffffff + v |= 0x94000000 + + binary.LittleEndian.PutUint32(b[i:], v) + + continue + } + + v -= 0x90000000 + + if v&0x9f000000 == 0 { + const ( + flag = uint32(1) << (24 - 4) + mask = uint32(1)<<24 - flag<<1 + ) + + v += flag + + if v&mask > 0 { + continue + } + + z, ip := v&0xffffffe0|v>>26, (c.ip>>(12-3)) & ^uint32(7) + + if encoding { + z += ip + } else { + z -= ip + } + + v &= 0x1f + v |= 0x90000000 + v |= z << 26 + v |= 0x00ffffe0 & ((z & (flag<<1 - 1)) - flag) + + binary.LittleEndian.PutUint32(b[i:], v) + } + } + + return i +} + +// NewARM64Reader returns a new ARM64 io.ReadCloser. +func NewARM64Reader(_ []byte, _ uint64, readers []io.ReadCloser) (io.ReadCloser, error) { + return newReader(readers, new(arm64)) +} diff --git a/internal/bra/ppc.go b/internal/bra/ppc.go index 9d38243..48197a3 100644 --- a/internal/bra/ppc.go +++ b/internal/bra/ppc.go @@ -20,7 +20,7 @@ func (c *ppc) Convert(b []byte, encoding bool) int { var i int - for i = 0; i < len(b) & ^(ppcAlignment-1); i += ppcAlignment { + for i = 0; i < len(b) & ^(ppcAlignment-1); i, c.ip = i+ppcAlignment, c.ip+ppcAlignment { v := binary.BigEndian.Uint32(b[i:]) if b[i+0]&0xfc == 0x48 && b[i+3]&3 == 1 { @@ -34,8 +34,6 @@ func (c *ppc) Convert(b []byte, encoding bool) int { v |= 0x48000000 } - c.ip += uint32(ppcAlignment) - binary.BigEndian.PutUint32(b[i:], v) } diff --git a/internal/bra/sparc.go b/internal/bra/sparc.go index 8aa4553..a39f3a2 100644 --- a/internal/bra/sparc.go +++ b/internal/bra/sparc.go @@ -20,10 +20,12 @@ func (c *sparc) Convert(b []byte, encoding bool) int { var i int - for i = 0; i < len(b) & ^(sparcAlignment-1); i += sparcAlignment { + for i = 0; i < len(b) & ^(sparcAlignment-1); i, c.ip = i+sparcAlignment, c.ip+sparcAlignment { v := binary.BigEndian.Uint32(b[i:]) if (b[i+0] == 0x40 && b[i+1]&0xc0 == 0) || (b[i+0] == 0x7f && b[i+1] >= 0xc0) { + const flag = uint32(1) << 24 + v <<= 2 if encoding { @@ -33,14 +35,12 @@ func (c *sparc) Convert(b []byte, encoding bool) int { } v &= 0x01ffffff - v -= uint32(1) << 24 + v -= flag v ^= 0xff000000 v >>= 2 v |= 0x40000000 } - c.ip += uint32(sparcAlignment) - binary.BigEndian.PutUint32(b[i:], v) } diff --git a/reader_test.go b/reader_test.go index a9d0c16..833e0db 100644 --- a/reader_test.go +++ b/reader_test.go @@ -197,6 +197,10 @@ func TestOpenReader(t *testing.T) { file: "COMPRESS-492.7z", err: sevenzip.ErrMissingUnpackInfo, }, + { + name: "arm64", + file: "arm64.7z", + }, } for _, table := range tables { @@ -657,3 +661,7 @@ func BenchmarkARM(b *testing.B) { func BenchmarkSPARC(b *testing.B) { benchmarkArchive(b, "sparc.7z", "", true) } + +func BenchmarkARM64(b *testing.B) { + benchmarkArchive(b, "arm64.7z", "", true) +} diff --git a/register.go b/register.go index 7f713d6..cac1bc2 100644 --- a/register.go +++ b/register.go @@ -69,6 +69,8 @@ func init() { RegisterDecompressor([]byte{0x04, 0xf7, 0x11, 0x04}, Decompressor(lz4.NewReader)) // AES-CBC-256 & SHA-256 RegisterDecompressor([]byte{0x06, 0xf1, 0x07, 0x01}, Decompressor(aes7z.NewReader)) + // ARM64 + RegisterDecompressor([]byte{0x0a}, Decompressor(bra.NewARM64Reader)) // LZMA2 RegisterDecompressor([]byte{0x21}, Decompressor(lzma2.NewReader)) } diff --git a/testdata/arm64.7z b/testdata/arm64.7z new file mode 100644 index 0000000000000000000000000000000000000000..089f369612052002abd3a9793bf900890b7174b0 GIT binary patch literal 49884 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 p01*uUVE}RfZ2&d^Gynhq6bb