public override void Write(PeWriter wtr) { wtr.BaseStream.Position = 0; wtr.Write((ushort)m); wtr.Write(hc); wtr.Write((uint)o); wtr.Write(ds); }
public void Write(PeWriter wtr) { wtr.SetPosition(hdr.DataDirectoriesOffset); for (int i = 0; i < 16; i++) { wtr.Write(Items[i].Address); wtr.Write(Items[i].Size); } }
public void Save(PeWriter wtr, uint adr) { wtr.SetPosition(adr); foreach (CertificateEntry i in items) { wtr.Write((uint)i.CertificateData.Length + 8); wtr.Write((ushort)i.Revision); wtr.Write((ushort)i.CertificateType); wtr.Write(i.CertificateData); } }
public override void Write(PeWriter wtr) { wtr.SetPosition(hdr.StandardFieldsOffset); wtr.Write((ushort)hdr.t); wtr.Write(maL); wtr.Write(miL); wtr.Write(sC); wtr.Write(sI); wtr.Write(sU); wtr.Write(entry); wtr.Write(bc); if (Magic != ExecutableType.PE32Plus) { wtr.Write(bd); } }
public override void Write(PeWriter wtr) { wtr.SetPosition(PEHeaderOffset); wtr.Write((ushort)m); wtr.Write((ushort)noSect); wtr.WriteStamp(stamp); wtr.Write((uint)ptrSym); wtr.Write((uint)noSym); wtr.Write((ushort)sOh); wtr.Write((ushort)c); }
public override void Write(PeWriter wtr) { wtr.SetPosition(hdr.WindowsSpecificFieldsOffset); if (hdr.Type == ExecutableType.PE32Plus) { wtr.Write((ulong)imgBas); wtr.Write((uint)sectA); wtr.Write((uint)fA); wtr.Write((ushort)maOs); wtr.Write((ushort)miOs); wtr.Write((ushort)maImg); wtr.Write((ushort)miImg); wtr.Write((ushort)maSs); wtr.Write((ushort)miSs); wtr.Write((uint)winVer); wtr.Write((uint)sImg); wtr.Write((uint)sHdr); wtr.Write((uint)cs); wtr.Write((ushort)Ss); wtr.Write((ushort)dll); wtr.Write((ulong)sSr); wtr.Write((ulong)sSc); wtr.Write((ulong)sHr); wtr.Write((ulong)sHc); wtr.Write((uint)ldrF); wtr.Write((uint)noDd); } else { wtr.Write((uint)imgBas); wtr.Write((uint)sectA); wtr.Write((uint)fA); wtr.Write((ushort)maOs); wtr.Write((ushort)miOs); wtr.Write((ushort)maImg); wtr.Write((ushort)miImg); wtr.Write((ushort)maSs); wtr.Write((ushort)miSs); wtr.Write((uint)winVer); wtr.Write((uint)sImg); wtr.Write((uint)sHdr); wtr.Write((uint)cs); wtr.Write((ushort)Ss); wtr.Write((ushort)dll); wtr.Write((uint)sSr); wtr.Write((uint)sSc); wtr.Write((uint)sHr); wtr.Write((uint)sHc); wtr.Write((uint)ldrF); wtr.Write((uint)noDd); } }
internal void Write(PeWriter wtr, ref uint datPtr) { for (int i = 0; i < 8; i++) { if (i < n.Length) { wtr.Write((byte)n[i]); } else { wtr.Write((byte)0); } } wtr.Write((uint)vSize); wtr.Write((uint)vPtr); wtr.Write((uint)dat.Length); wtr.Write((uint)datPtr); wtr.Write((uint)relocPtr); wtr.Write((uint)lnPtr); wtr.Write((ushort)relocNo); wtr.Write((ushort)lnNo); wtr.Write((uint)c); wtr.SaveLocation(); wtr.SetPosition(datPtr); wtr.Write(dat); wtr.LoadLocation(); datPtr += (uint)dat.Length; }