public Hnsha(int segNum, string controlRef, string signature) { Header = new SegmentHeader("HNSHA", 2, segNum); ControlReference = new AlphanumericElement(controlRef); Result = null; Signature = new AlphanumericElement(signature); }
public Hkidn(int number, int blz, string userId, string systemId = "0") { Header = new SegmentHeader("HKIDN", 2, number); BankId = new BankId(blz); CustomerId = new AlphanumericElement(userId); SystemId = new AlphanumericElement(systemId); Status = new NumericElement(1); }
public KernelInitialProcess(Stream input) { BinaryReader reader = new BinaryReader(input); string magic = ReadString(reader, 4); if (magic != "KIP1") { } Name = ReadString(reader, 12); TitleId = reader.ReadUInt64(); ProcessCategory = reader.ReadInt32(); MainThreadPriority = reader.ReadByte(); DefaultProcessorId = reader.ReadByte(); byte reserved = reader.ReadByte(); byte flags = reader.ReadByte(); Is64Bits = (flags & 0x08) != 0; Addr39Bits = (flags & 0x10) != 0; IsService = (flags & 0x20) != 0; SegmentHeader[] segments = new SegmentHeader[6]; for (int index = 0; index < segments.Length; index++) { segments[index] = new SegmentHeader( reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32()); } TextOffset = segments[0].Offset; RoOffset = segments[1].Offset; DataOffset = segments[2].Offset; BssOffset = segments[3].Offset; BssSize = segments[3].DecompressedSize; MainThreadStackSize = segments[1].Attribute; Capabilities = new int[32]; for (int index = 0; index < Capabilities.Length; index++) { Capabilities[index] = reader.ReadInt32(); } input.Seek(0x100, SeekOrigin.Begin); Text = ReadSegment(segments[0], input); Ro = ReadSegment(segments[1], input); Data = ReadSegment(segments[2], input); }
public KernelInitialProcess(Stream Input) { BinaryReader Reader = new BinaryReader(Input); string Magic = ReadString(Reader, 4); if (Magic != "KIP1") { } Name = ReadString(Reader, 12); TitleId = Reader.ReadInt64(); ProcessCategory = Reader.ReadInt32(); MainThreadPriority = Reader.ReadByte(); DefaultProcessorId = Reader.ReadByte(); byte Reserved = Reader.ReadByte(); byte Flags = Reader.ReadByte(); Is64Bits = (Flags & 0x08) != 0; Addr39Bits = (Flags & 0x10) != 0; IsService = (Flags & 0x20) != 0; SegmentHeader[] Segments = new SegmentHeader[6]; for (int Index = 0; Index < Segments.Length; Index++) { Segments[Index] = new SegmentHeader( Reader.ReadInt32(), Reader.ReadInt32(), Reader.ReadInt32(), Reader.ReadInt32()); } TextOffset = Segments[0].Offset; ROOffset = Segments[1].Offset; DataOffset = Segments[2].Offset; BssOffset = Segments[3].Offset; BssSize = Segments[3].DecompressedSize; MainThreadStackSize = Segments[1].Attribute; Capabilities = new int[8]; for (int Index = 0; Index < Capabilities.Length; Index++) { Capabilities[Index] = Reader.ReadInt32(); } Input.Seek(0x100, SeekOrigin.Begin); Text = ReadSegment(Segments[0], Input); RO = ReadSegment(Segments[1], Input); Data = ReadSegment(Segments[2], Input); }
public Hnhbk(int msgNum, int segNum = 1, int size = 0, string dialogId = "0", int hbciVer = 300) { Header = new SegmentHeader("HNHBK", 3, segNum); Size = new DigitElement(12, size); HbciVersion = new NumericElement(hbciVer); DialogId = new AlphanumericElement(dialogId); MessageNumber = new NumericElement(msgNum); Reference = null; }
public Hkvvb(int segNum, string productId, string productVersion) { Header = new SegmentHeader("HKVVB", 3, segNum); Bpd = new NumericElement(0); Upd = new NumericElement(0); Language = new NumericElement(0); ProductId = new AlphanumericElement(productId); ProductVersion = new AlphanumericElement(productVersion); }
private byte[] ReadSegment(SegmentHeader header, Stream input) { byte[] data = new byte[header.DecompressedSize]; input.Read(data, 0, header.CompressedSize); BackwardsLz.DecompressInPlace(data, header.CompressedSize); return(data); }
private byte[] ReadSegment(SegmentHeader Header, Stream Input) { long End = Input.Position + Header.CompressedSize; Input.Seek(End, SeekOrigin.Begin); byte[] Data = BackwardsLz.Decompress(Input, Header.DecompressedSize); Input.Seek(End, SeekOrigin.Begin); return(Data); }
private byte[] ReadSegment(SegmentHeader header, Stream input) { long end = input.Position + header.CompressedSize; input.Seek(end, SeekOrigin.Begin); byte[] data = BackwardsLz.Decompress(input, header.DecompressedSize); input.Seek(end, SeekOrigin.Begin); return(data); }
public Hksyn(int segNum, Query query) { Header = new SegmentHeader("HKSYN", 3, segNum); QueryType = new NumericElement((int)query); }
public Segment(SegmentHeader header, IpcHeader ipcHeader, byte[] ipcData) { Header = header; IpcHeader = ipcHeader; IpcData = ipcData; }
public NSO(string path) { BinaryReader reader = new BinaryReader(File.Open(path, FileMode.Open)); mMagic = Encoding.ASCII.GetString(reader.ReadBytes(4)); mVersion = reader.ReadInt32(); reader.ReadInt32(); mFlags = reader.ReadInt32(); SegmentHeader textSeg = new SegmentHeader { fileOffset = reader.ReadInt32(), memoryOffset = reader.ReadInt32(), decompressedSize = reader.ReadInt32() }; mTextSeg = textSeg; mModuleOffset = reader.ReadInt32(); SegmentHeader rodataSeg = new SegmentHeader { fileOffset = reader.ReadInt32(), memoryOffset = reader.ReadInt32(), decompressedSize = reader.ReadInt32() }; mRODataSeg = rodataSeg; mModuleFileSize = reader.ReadInt32(); SegmentHeader dataSeg = new SegmentHeader { fileOffset = reader.ReadInt32(), memoryOffset = reader.ReadInt32(), decompressedSize = reader.ReadInt32() }; mDataSeg = dataSeg; mBSSSize = reader.ReadInt32(); mBuildID = reader.ReadBytes(0x20); mTextSize = reader.ReadInt32(); mRODataSize = reader.ReadInt32(); mDataSize = reader.ReadInt32(); reader.ReadBytes(0x1C); RODataExtent apiExtent = new RODataExtent { regionRODataOffset = reader.ReadInt32(), regionSize = reader.ReadInt32() }; mAPIInfoExtent = apiExtent; RODataExtent dynStrExtent = new RODataExtent { regionRODataOffset = reader.ReadInt32(), regionSize = reader.ReadInt32() }; mDynStrExtent = dynStrExtent; RODataExtent dynSymExtent = new RODataExtent { regionRODataOffset = reader.ReadInt32(), regionSize = reader.ReadInt32() }; mDynSymExtent = dynSymExtent; mTextSHA = reader.ReadBytes(0x20); mRODataSHA = reader.ReadBytes(0x20); mDataSHA = reader.ReadBytes(0x20); mText = reader.ReadBytes(mTextSize); mROData = reader.ReadBytes(mRODataSize); mData = reader.ReadBytes(mDataSize); }
public Hnhbs(int number, int segmentNum) { Header = new SegmentHeader("HNHBS", 1, segmentNum); MessageNumber = new NumericElement(number); }