public void UntrimAndEncrypt(Keyset keyset) { FolderTools.ExtractTitlekeys(decryptedDir, keyset, Out); var decryptedFs = new LocalFileSystem(decryptedDir); var encryptedFs = new LocalFileSystem(encryptedDir); EncryptNCA.Encrypt(decryptedFs, encryptedFs, VerifyHashes, keyset, Out); var dirDecrypted = new DirectoryInfo(decryptedDir); foreach (var file in decryptedFs.EnumerateEntries() .Where(item => item.Type == DirectoryEntryType.File && !item.Name.EndsWith(".tca"))) { if (!file.Name.EndsWith(".nca")) { using (var srcFile = decryptedFs.OpenFile(file.FullPath, OpenMode.Read)) using (var destFile = FolderTools.CreateAndOpen(file, encryptedFs, file.Name, file.Size)) { srcFile.CopyTo(destFile); } } decryptedFs.DeleteFile(file.FullPath); } UntrimDeltaNCA.Process(decryptedDir, encryptedFs, keyset, Out); EncryptNCA.Encrypt(decryptedFs, encryptedFs, VerifyHashes, keyset, Out); }
public void CopyFileTest() { var FoundFiles = LocalFileSystem.FindFiles("/Mounted/DirectoryOnMountedFileSystem", "*.dat"); var SourcePath = "/Mounted/DirectoryOnMountedFileSystem/1.txt"; var DestinationPath = "/Mounted/DirectoryOnMountedFileSystem/10.bin"; try { LocalFileSystem.DeleteFile(DestinationPath); } catch { } LocalFileSystem.CopyFile(SourcePath, DestinationPath); Assert.AreEqual( LocalFileSystem.GetFileInfo(SourcePath).Size, LocalFileSystem.GetFileInfo(DestinationPath).Size ); LocalFileSystem.DeleteFile(DestinationPath); }