public void PEBinary_CanRecognizeDotNetBootstrappingExe() { foreach (string nativeUwpFileName in Directory.GetFiles(PEBinaryTests.BaselineTestsDataDirectory, "Uwp*Cpp*")) { if (nativeUwpFileName.EndsWith(".pdb", StringComparison.OrdinalIgnoreCase)) { continue; } PEBinary peBinary; using (peBinary = new PEBinary(new Uri(nativeUwpFileName))) { peBinary.PE.IsNativeUniversalWindowsPlatform.Should().BeTrue(); } } foreach (string nonNativeUwpFileName in Directory.GetFiles(PEBinaryTests.BaselineTestsDataDirectory, "Uwp*")) { if (nonNativeUwpFileName.Contains("Cpp")) { continue; } if (nonNativeUwpFileName.EndsWith(".pdb", StringComparison.OrdinalIgnoreCase)) { continue; } PEBinary peBinary; using (peBinary = new PEBinary(new Uri(nonNativeUwpFileName))) { peBinary.PE.IsNativeUniversalWindowsPlatform.Should().BeFalse(); } } }
public void PdbIsStripped() { string fileName = Path.Combine(BaselineTestsDataDirectory, "Native_x86_VS2017_15.5.4_PdbStripped.dll"); PEBinary peBinary = new PEBinary(new Uri(fileName)); peBinary.Pdb.Should().BeNull(); peBinary.StrippedPdb.Should().NotBeNull(); peBinary.PdbParseException.Should().NotBeNull(); }
public void NoPdbAvailable() { string fileName = Path.Combine(BaselineTestsDataDirectory, "Native_x86_VS2013_PdbMissing.exe"); PEBinary peBinary = new PEBinary(new Uri(fileName)); peBinary.Pdb.Should().BeNull(); peBinary.StrippedPdb.Should().BeNull(); peBinary.PdbParseException.Should().NotBeNull(); }
public void PEBinary_PdbAvailable() { string fileName = Path.Combine(BaselineTestsDataDirectory, "Native_x64_VS2013_Default.dll"); using (var peBinary = new PEBinary(new Uri(fileName))) { peBinary.Pdb.Should().NotBeNull(); peBinary.StrippedPdb.Should().BeNull(); peBinary.PdbParseException.Should().BeNull(); } }
public void IsWixBinary() { string fileName = Path.Combine(PEBinaryTests.BaselineTestsDataDirectory, "Wix_3.11.1_VS2017_Bootstrapper.exe"); var peBinary = new PEBinary(new Uri(fileName)); peBinary.Pdb.Should().BeNull(); peBinary.PE.IsWixBinary.Should().BeTrue(); // Verify a random other exe to ensure it is properly reporting as not a WIX bootstrapper fileName = Path.Combine(PEBinaryTests.BaselineTestsDataDirectory, "MixedMode_x64_VS2015_Default.exe"); peBinary = new PEBinary(new Uri(fileName)); peBinary.PE.IsWixBinary.Should().BeFalse(); }
public void PEBinary_PdbIsStripped() { if (!PlatformSpecificHelpers.RunningOnWindows()) { return; } string fileName = Path.Combine(BaselineTestsDataDirectory, "Native_x86_VS2017_15.5.4_PdbStripped.dll"); using (var peBinary = new PEBinary(new Uri(fileName))) { peBinary.Pdb.Should().BeNull(); peBinary.StrippedPdb.Should().NotBeNull(); peBinary.PdbParseException.Should().NotBeNull(); } }
public void PEBinary_IsDotNetCoreBootstrapExe() { string fileName = Path.Combine(PEBinaryTests.BaselineTestsDataDirectory, "DotNetCore_win-x64_VS2019_Default.exe"); PEBinary peBinary; using (peBinary = new PEBinary(new Uri(fileName))) { peBinary.PE.IsDotNetCoreBootstrapExe.Should().BeTrue(); } // Verify a random other exe to ensure it is properly reporting as not a .NET Core bootstrapper fileName = Path.Combine(PEBinaryTests.BaselineTestsDataDirectory, "Wix_3.11.1_VS2017_Bootstrapper.exe"); using (peBinary = new PEBinary(new Uri(fileName))) { peBinary.PE.IsDotNetCoreBootstrapExe.Should().BeFalse(); } }