private InitMetaDataOut ( PEWriter file ) : void | ||
file | PEWriter | |
Résultat | void |
/*----------------------------- Writing -----------------------------------------*/ private void InitPEWriter(PEFileVersionInfo verInfo, MetaDataOut md, bool writePDB, string fileName) { this.verInfo = verInfo; if (!verInfo.fromExisting) verInfo.lMajor = MetaData.LMajors[(int)verInfo.netVersion]; if (verInfo.isDLL) { hintNameTable = FileImage.dllHintNameTable.ToCharArray(); if (!verInfo.fromExisting) verInfo.characteristics = FileImage.dllCharacteristics; } else { hintNameTable = FileImage.exeHintNameTable.ToCharArray(); if (!verInfo.fromExisting) verInfo.characteristics = FileImage.exeCharacteristics; } text = new Section(FileImage.textName,0x60000020); // IMAGE_SCN_CNT CODE, EXECUTE, READ // rsrc = new Section(rsrcName,0x40000040); // IMAGE_SCN_CNT INITIALIZED_DATA, READ metaData = md; metaData.InitMetaDataOut(this); // Check if we should include a PDB file if (writePDB) { // Work out the PDB filename from the PE files filename if ((fileName == null) || (fileName == "")) fileName = "default"; // Setup the PDB Writer object pdbWriter = new PDBWriter(fileName); // Set the amount of space required for the debug information debugBytesSize += pdbWriter.PDBFilename.Length; } }