diff options
author | Jb Evain <jbevain@gmail.com> | 2017-02-21 19:34:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-21 19:34:51 +0300 |
commit | bda6b506c84afc23ebf13687f1adbf1464e27499 (patch) | |
tree | d3208639708ca0366ae2e965873126335b83a6cb | |
parent | 7f2ea29930f3d7ea771411eff4a23c9f7c18c272 (diff) | |
parent | 2c43e7d803d818b9d3824755b62d8891a1126f39 (diff) |
Merge pull request #333 from rolfbjarne/preserve-pe-timestamps
Preserve PE timestamps.
-rw-r--r-- | Mono.Cecil.PE/Image.cs | 1 | ||||
-rw-r--r-- | Mono.Cecil.PE/ImageReader.cs | 3 | ||||
-rw-r--r-- | Mono.Cecil/AssemblyWriter.cs | 2 | ||||
-rw-r--r-- | Mono.Cecil/ModuleDefinition.cs | 2 |
4 files changed, 6 insertions, 2 deletions
diff --git a/Mono.Cecil.PE/Image.cs b/Mono.Cecil.PE/Image.cs index 1ff06d7..b618053 100644 --- a/Mono.Cecil.PE/Image.cs +++ b/Mono.Cecil.PE/Image.cs @@ -33,6 +33,7 @@ namespace Mono.Cecil.PE { public Section MetadataSection; public uint EntryPointToken; + public uint TimeStamp; public ModuleAttributes Attributes; public DataDirectory Debug; diff --git a/Mono.Cecil.PE/ImageReader.cs b/Mono.Cecil.PE/ImageReader.cs index fc6b4fc..6115f37 100644 --- a/Mono.Cecil.PE/ImageReader.cs +++ b/Mono.Cecil.PE/ImageReader.cs @@ -70,10 +70,11 @@ namespace Mono.Cecil.PE { ushort sections = ReadUInt16 (); // TimeDateStamp 4 + image.TimeStamp = ReadUInt32 (); // PointerToSymbolTable 4 // NumberOfSymbols 4 // OptionalHeaderSize 2 - Advance (14); + Advance (10); // Characteristics 2 ushort characteristics = ReadUInt16 (); diff --git a/Mono.Cecil/AssemblyWriter.cs b/Mono.Cecil/AssemblyWriter.cs index 742f0a5..ea0e665 100644 --- a/Mono.Cecil/AssemblyWriter.cs +++ b/Mono.Cecil/AssemblyWriter.cs @@ -866,7 +866,7 @@ namespace Mono.Cecil { this.module = module; this.text_map = CreateTextMap (); this.fq_name = fq_name; - this.time_stamp = (uint) DateTime.UtcNow.Subtract (new DateTime (1970, 1, 1)).TotalSeconds; + this.time_stamp = module.timestamp; this.symbol_writer_provider = symbol_writer_provider; if (symbol_writer == null && module.HasImage && module.Image.HasDebugTables ()) { diff --git a/Mono.Cecil/ModuleDefinition.cs b/Mono.Cecil/ModuleDefinition.cs index 79bbf3c..10d4716 100644 --- a/Mono.Cecil/ModuleDefinition.cs +++ b/Mono.Cecil/ModuleDefinition.cs @@ -260,6 +260,7 @@ namespace Mono.Cecil { ModuleAttributes attributes; ModuleCharacteristics characteristics; Guid mvid; + internal uint timestamp; internal AssemblyDefinition assembly; MethodDefinition entry_point; @@ -568,6 +569,7 @@ namespace Mono.Cecil { this.attributes = image.Attributes; this.characteristics = image.Characteristics; this.file_name = image.FileName; + this.timestamp = image.TimeStamp; this.reader = new MetadataReader (this); } |