public void UnpackFiles(Stream strm, Callbacks callbacks) { XORStream xstrm = new XORStream(strm, callbacks.TransformerRegistry, 0xf7); foreach (ArcEntry ae in GetDirectory(xstrm, false)) { xstrm.Seek(ae.Offset, SeekOrigin.Begin); byte[] buf = new byte[ae.Length]; xstrm.Read(buf, 0, ae.Length); callbacks.WriteData(ae.FileName, buf); } }
public IEnumerable<FileEntry> ListFiles(Stream strm, Callbacks callbacks) { List<FileEntry> results = new List<FileEntry>(); XORStream xstrm = new XORStream(strm, callbacks.TransformerRegistry, 0xf7); foreach (ArcEntry ae in GetDirectory(xstrm, false)) { FileEntry fe = new FileEntry(); fe.Filename = ae.FileName; fe.UncompressedSize = ae.Length; results.Add(fe); } return results; }
public bool IsSupported(Stream strm, Callbacks callbacks) { XORStream xstrm = new XORStream(strm, callbacks.TransformerRegistry, 0xf7); return GetDirectory(xstrm, true) != null; }