public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "eafs_mbr", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new Vdi(); Assert.AreEqual(true, image.Open(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.Info.Sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.Info.SectorSize, testfiles[i]); List <Partition> partitions = Core.Partitions.GetAll(image); IFilesystem fs = new SysVfs(); int part = -1; for (int j = 0; j < partitions.Count; j++) { if (partitions[j].Type == "XENIX") { part = j; break; } } Assert.AreNotEqual(-1, part, $"Partition not found on {testfiles[i]}"); Assert.AreEqual(true, fs.Identify(image, partitions[part]), testfiles[i]); fs.GetInformation(image, partitions[part], out _, null); Assert.AreEqual(clusters[i], fs.XmlFsType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFsType.ClusterSize, testfiles[i]); Assert.AreEqual(type[i], fs.XmlFsType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFsType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFsType.VolumeSerial, testfiles[i]); } }
public void Test() { for (int i = 0; i < _testFiles.Length; i++) { string location = Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "HAMMER (MBR)", _testFiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new Vdi(); Assert.AreEqual(true, image.Open(filter), _testFiles[i]); Assert.AreEqual(_sectors[i], image.Info.Sectors, _testFiles[i]); Assert.AreEqual(_sectorSize[i], image.Info.SectorSize, _testFiles[i]); List <Partition> partitions = Core.Partitions.GetAll(image); IFilesystem fs = new HAMMER(); int part = -1; for (int j = 0; j < partitions.Count; j++) { if (partitions[j].Type == "Hammer") { part = j; break; } } Assert.AreNotEqual(-1, part, $"Partition not found on {_testFiles[i]}"); Assert.AreEqual(true, fs.Identify(image, partitions[part]), _testFiles[i]); fs.GetInformation(image, partitions[part], out _, null); Assert.AreEqual(_clusters[i], fs.XmlFsType.Clusters, _testFiles[i]); Assert.AreEqual(_clusterSize[i], fs.XmlFsType.ClusterSize, _testFiles[i]); Assert.AreEqual("HAMMER", fs.XmlFsType.Type, _testFiles[i]); Assert.AreEqual(_volumeName[i], fs.XmlFsType.VolumeName, _testFiles[i]); Assert.AreEqual(_volumeSerial[i], fs.XmlFsType.VolumeSerial, _testFiles[i]); } }
public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "dtfs", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter), testfiles[i]); Assert.AreEqual(mediatypes[i], image.Info.MediaType, testfiles[i]); Assert.AreEqual(sectors[i], image.Info.Sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.Info.SectorSize, testfiles[i]); IFilesystem fs = new SysVfs(); Partition wholePart = new Partition { Name = "Whole device", Length = image.Info.Sectors, Size = image.Info.Sectors * image.Info.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out _, null); Assert.AreEqual(clusters[i], fs.XmlFsType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFsType.ClusterSize, testfiles[i]); Assert.AreEqual(type[i], fs.XmlFsType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFsType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFsType.VolumeSerial, testfiles[i]); } }
public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "partitions", "atari", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new Vdi(); Assert.AreEqual(true, image.Open(filter), testfiles[i]); List <Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); for (int j = 0; j < partitions.Count; j++) { // Too chatty //Assert.AreEqual(wanted[i][j].PartitionDescription, partitions[j].PartitionDescription, testfiles[i]); Assert.AreEqual(wanted[i][j].Size, partitions[j].Size, testfiles[i]); Assert.AreEqual(wanted[i][j].Name, partitions[j].Name, testfiles[i]); Assert.AreEqual(wanted[i][j].Type, partitions[j].Type, testfiles[i]); Assert.AreEqual(wanted[i][j].Offset, partitions[j].Offset, testfiles[i]); Assert.AreEqual(wanted[i][j].Length, partitions[j].Length, testfiles[i]); Assert.AreEqual(wanted[i][j].Sequence, partitions[j].Sequence, testfiles[i]); Assert.AreEqual(wanted[i][j].Start, partitions[j].Start, testfiles[i]); } } }
public void Info() { Environment.CurrentDirectory = _dataFolder; Assert.Multiple(() => { for (int i = 0; i < _testFiles.Length; i++) { var filter = new LZip(); filter.Open(_testFiles[i]); var image = new ZZZRawImage(); bool opened = image.Open(filter); Assert.AreEqual(true, opened, $"Open: {_testFiles[i]}"); if (!opened) { continue; } using (new AssertionScope()) { Assert.Multiple(() => { Assert.AreEqual(_sectors[i], image.Info.Sectors, $"Sectors: {_testFiles[i]}"); Assert.AreEqual(_sectorSize[i], image.Info.SectorSize, $"Sector size: {_testFiles[i]}"); Assert.AreEqual(_mediaTypes[i], image.Info.MediaType, $"Media type: {_testFiles[i]}"); }); } } }); }
public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "iso9660", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter), $"{testfiles[i]}: Open()"); Assert.AreEqual(mediatypes[i], image.Info.MediaType, $"{testfiles[i]}: MediaType"); Assert.AreEqual(sectors[i], image.Info.Sectors, $"{testfiles[i]}: Sectors"); Assert.AreEqual(sectorsize[i], image.Info.SectorSize, $"{testfiles[i]}: SectorSize"); IFilesystem fs = new ISO9660(); Partition wholePart = new Partition { Name = "Whole device", Length = image.Info.Sectors, Size = image.Info.Sectors * image.Info.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), $"{testfiles[i]}: Identify()"); fs.GetInformation(image, wholePart, out _, null); Assert.AreEqual(clusters[i], fs.XmlFsType.Clusters, $"{testfiles[i]}: Clusters"); Assert.AreEqual(clustersize[i], fs.XmlFsType.ClusterSize, $"{testfiles[i]}: ClusterSize"); Assert.AreEqual("ISO9660", fs.XmlFsType.Type, $"{testfiles[i]}: Type"); Assert.AreEqual(volumename[i], fs.XmlFsType.VolumeName, $"{testfiles[i]}: VolumeName"); Assert.AreEqual(volumeserial[i], fs.XmlFsType.VolumeSerial, $"{testfiles[i]}: VolumeSerial"); Assert.AreEqual(sysid[i], fs.XmlFsType.SystemIdentifier, $"{testfiles[i]}: SystemIdentifier"); Assert.AreEqual(appid[i], fs.XmlFsType.ApplicationIdentifier, $"{testfiles[i]}: ApplicationIdentifier"); } }
public void Test() { for (int i = 0; i < _testFiles.Length; i++) { string location = Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "XENIX filesystem", _testFiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter), _testFiles[i]); Assert.AreEqual(_mediaTypes[i], image.Info.MediaType, _testFiles[i]); Assert.AreEqual(_sectors[i], image.Info.Sectors, _testFiles[i]); Assert.AreEqual(_sectorSize[i], image.Info.SectorSize, _testFiles[i]); IFilesystem fs = new SysVfs(); var wholePart = new Partition { Name = "Whole device", Length = image.Info.Sectors, Size = image.Info.Sectors * image.Info.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), _testFiles[i]); fs.GetInformation(image, wholePart, out _, null); Assert.AreEqual(_clusters[i], fs.XmlFsType.Clusters, _testFiles[i]); Assert.AreEqual(_clusterSize[i], fs.XmlFsType.ClusterSize, _testFiles[i]); Assert.AreEqual(_type[i], fs.XmlFsType.Type, _testFiles[i]); Assert.AreEqual(_volumeName[i], fs.XmlFsType.VolumeName, _testFiles[i]); Assert.AreEqual(_volumeSerial[i], fs.XmlFsType.VolumeSerial, _testFiles[i]); } }
public void Test() { for (int i = 0; i < _testFiles.Length; i++) { string location = Path.Combine(Consts.TEST_FILES_ROOT, "Device test dumps", "JAZ", _testFiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter), _testFiles[i]); Assert.AreEqual(_mediaTypes[i], image.Info.MediaType, _testFiles[i]); Assert.AreEqual(_sectors[i], image.Info.Sectors, _testFiles[i]); Assert.AreEqual(_sectorSize[i], image.Info.SectorSize, _testFiles[i]); } }
public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "devices", "ls120", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter), testfiles[i]); Assert.AreEqual(mediatypes[i], image.Info.MediaType, testfiles[i]); Assert.AreEqual(sectors[i], image.Info.Sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.Info.SectorSize, testfiles[i]); } }
public void Init() { location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fatx16", "be", "microsoft256mb.img.lz"); filter = new LZip(); filter.Open(location); image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter)); fs = new XboxFatPlugin(); List <Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(2, partitions.Count); dataPartition = partitions[1]; Errno error = fs.Mount(image, dataPartition, null, null, null); Assert.AreEqual(Errno.NoError, error); }
public void Init() { location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fatx16", "le", "fatx.img.lz"); filter = new LZip(); filter.Open(location); image = new ZZZRawImage(); Assert.AreEqual(true, image.Open(filter)); fs = new XboxFatPlugin(); wholePart = new Partition { Name = "Whole device", Length = image.Info.Sectors, Size = image.Info.Sectors * image.Info.SectorSize }; Errno error = fs.Mount(image, wholePart, null, null, null); Assert.AreEqual(Errno.NoError, error); }
public void Init() { _location = Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "Xbox FAT16", "be", "microsoft256mb.img.lz"); _filter = new LZip(); _filter.Open(_location); _image = new ZZZRawImage(); Assert.AreEqual(true, _image.Open(_filter)); _fs = new XboxFatPlugin(); List <Partition> partitions = Core.Partitions.GetAll(_image); Assert.AreEqual(2, partitions.Count); _dataPartition = partitions[1]; Errno error = _fs.Mount(_image, _dataPartition, null, null, null); Assert.AreEqual(Errno.NoError, error); }
/// <summary> /// Determines the corresponding algorithm instance by evaluating the specified archive type. /// </summary> /// <param name="value">The enum value of the archive type.</param> /// <exception cref="ArgumentOutOfRangeException">Thrown when archive type matched no algorithm.</exception> /// <returns>An instance of the compression algorithm that matches the specified value.</returns> internal static ICompressionAlgorithm DetermineAlgorithm(ArchiveType value) { ICompressionAlgorithm algorithm; switch (value) { case ArchiveType.Zip: algorithm = new Zip(); break; case ArchiveType.GZip: algorithm = new GZip(); break; case ArchiveType.BZip2: algorithm = new BZip2(); break; case ArchiveType.LZip: algorithm = new LZip(); break; case ArchiveType.Tar: algorithm = new Tar(); break; case ArchiveType.TarGz: algorithm = new TarGzip(); break; case ArchiveType.TarBz2: algorithm = new TarBzip2(); break; case ArchiveType.TarLz: algorithm = new TarLzip(); break; default: throw new ArgumentOutOfRangeException(nameof(value), value, null); } return(algorithm); }
public void Test() { for (int i = 0; i < _testFiles.Length; i++) { string location = Path.Combine(Consts.TEST_FILES_ROOT, "Media image formats", "DiskCopy 4.2", _testFiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new DiscImages.DiskCopy42(); Assert.AreEqual(true, image.Open(filter), _testFiles[i]); Assert.AreEqual(_sectors[i], image.Info.Sectors, _testFiles[i]); Assert.AreEqual(_sectorSize[i], image.Info.SectorSize, _testFiles[i]); Assert.AreEqual(_mediaTypes[i], image.Info.MediaType, _testFiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; var ctx = new Md5Context(); while (doneSectors < image.Info.Sectors) { byte[] sector; if (image.Info.Sectors - doneSectors >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { sector = image.ReadSectors(doneSectors, (uint)(image.Info.Sectors - doneSectors)); doneSectors += image.Info.Sectors - doneSectors; } ctx.Update(sector); } Assert.AreEqual(_md5S[i], ctx.End(), _testFiles[i]); } }
public void Init() { _location = Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "Xbox FAT16", "le", "fatx.img.lz"); _filter = new LZip(); _filter.Open(_location); _image = new ZZZRawImage(); Assert.AreEqual(true, _image.Open(_filter)); _fs = new XboxFatPlugin(); _wholePart = new Partition { Name = "Whole device", Length = _image.Info.Sectors, Size = _image.Info.Sectors * _image.Info.SectorSize }; Errno error = _fs.Mount(_image, _wholePart, null, null, null); Assert.AreEqual(Errno.NoError, error); }
public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "images", "2mg", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new DiscImages.Apple2Mg(); Assert.AreEqual(true, image.Open(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.Info.Sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.Info.SectorSize, testfiles[i]); Assert.AreEqual(mediatypes[i], image.Info.MediaType, testfiles[i]); // How many sectors to read at once const uint SECTORS_TO_READ = 256; ulong doneSectors = 0; Md5Context ctx = new Md5Context(); while (doneSectors < image.Info.Sectors) { byte[] sector; if (image.Info.Sectors - doneSectors >= SECTORS_TO_READ) { sector = image.ReadSectors(doneSectors, SECTORS_TO_READ); doneSectors += SECTORS_TO_READ; } else { sector = image.ReadSectors(doneSectors, (uint)(image.Info.Sectors - doneSectors)); doneSectors += image.Info.Sectors - doneSectors; } ctx.Update(sector); } Assert.AreEqual(md5S[i], ctx.End(), testfiles[i]); } }
public void Test() { for (int i = 0; i < testfiles.Length; i++) { string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hpfs", testfiles[i]); IFilter filter = new LZip(); filter.Open(location); IMediaImage image = new Vdi(); Assert.AreEqual(true, image.Open(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.Info.Sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.Info.SectorSize, testfiles[i]); List <Partition> partitions = Core.Partitions.GetAll(image); IFilesystem fs = new HPFS(); Assert.AreEqual(true, fs.Identify(image, partitions[0]), testfiles[i]); fs.GetInformation(image, partitions[0], out _, null); Assert.AreEqual(clusters[i], fs.XmlFsType.Clusters, testfiles[i]); Assert.AreEqual(clustersize[i], fs.XmlFsType.ClusterSize, testfiles[i]); Assert.AreEqual("HPFS", fs.XmlFsType.Type, testfiles[i]); Assert.AreEqual(volumename[i], fs.XmlFsType.VolumeName, testfiles[i]); Assert.AreEqual(volumeserial[i], fs.XmlFsType.VolumeSerial, testfiles[i]); Assert.AreEqual(oemid[i], fs.XmlFsType.SystemIdentifier, testfiles[i]); } }
private void ShowFile(ref string folderReport, ref string fileReport, bool isOpenFile, FileBase fileResponse, MethodInfo mi, List <ThamSoBaoCao> listThamSoBaoCao) { try { if (fileResponse.FileFormat.Equals(ApplicationConstant.LoaiDinhDangBaoCao.TEXT.layGiaTri())) { fileReport = folderReport + "\\" + fileResponse.FileName; } else { fileReport = folderReport + "\\" + fileResponse.FileName + "." + fileResponse.FileFormat; } LFile.WriteFileFromByteArray(fileResponse.FileData, fileReport); if (isOpenFile) { // show file if (fileResponse.FileFormat == "rar") { LZip.UnZipFiles(fileReport, folderReport, "ng-mFina", false); string format = ""; string loaiThamSo = ApplicationConstant.LoaiThamSoBaoCao.FORMAT.layGiaTri(); format = listThamSoBaoCao.Where(item => item.LoaiThamSo.Equals(loaiThamSo)).FirstOrDefault().GiaTriThamSo; string originalFormat = ""; if (format.Equals(ApplicationConstant.LoaiDinhDangBaoCao.PDF.layGiaTri())) { originalFormat = "pdf"; } else if (format.Equals(ApplicationConstant.LoaiDinhDangBaoCao.EXCEL.layGiaTri())) { originalFormat = "xls"; } else if (format.Equals(ApplicationConstant.LoaiDinhDangBaoCao.WORD.layGiaTri())) { originalFormat = "doc"; } else if (format.Equals(ApplicationConstant.LoaiDinhDangBaoCao.TEXT.layGiaTri())) { originalFormat = "txt"; } else { originalFormat = "pdf"; } string originalFileReport = ClientInformation.TempDir + "\\" + fileResponse.FileName + "." + originalFormat; //Stream stream = LFile.ConvertByteArrayToStream(fileResponse.FileData); Mouse.OverrideCursor = Cursors.Arrow; System.Diagnostics.Process.Start(originalFileReport); } else { //Stream stream = LFile.ConvertByteArrayToStream(fileResponse.FileData); Mouse.OverrideCursor = Cursors.Arrow; if (fileResponse.FileFormat.Equals(ApplicationConstant.LoaiDinhDangBaoCao.TEXT.layGiaTri())) { //OnShowResult if (uc != null) { mi = uc.GetType().GetMethod("OnShowResult"); //Object[] paras = new Object[] { fileReport}; object retShowResult = mi.Invoke(uc, new Object[] { fileReport }); } } else { System.Diagnostics.Process.Start(fileReport); } } } } catch (System.Exception ex) { Mouse.OverrideCursor = Cursors.Arrow; CommonFunction.ThongBaoLoi(ex); LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex); } }