binfmt-detector-cli: rewrite to support PE32+ binaries (#38)

Rewrite with hard-coded offsets into the PE file format to discern
if a binary is PE32 or PE32+, and then to determine if it contains
a "CLR Data Directory" entry that looks valid.

Tested with PE32 and PE32+ compiled Mono binaries, PE32 and PE32+ native
binaries, and a random assortment of garbage files.

Former-commit-id: 9e7ac86ec84f653a2f79b87183efd5b0ebda001b
This commit is contained in:
Pat Tullmann
2023-10-16 11:16:47 -07:00
committed by GitHub
parent bb231c5b06
commit 0cb742dafb
4772 changed files with 11391249 additions and 2669 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
2f0a22723b36536f81012c6a3f14e1d81ba3b131

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
46ee3f08fe9d4a028e3a5bfcd3cec009cbae278c

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
f8099ccd81555a65b60b243abb7bf155b6a7eca6

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
c872fa06510d656f32ee8720536a1d7fb93359da

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
0b0cb66a0466a2acd62e48e23e96344711e4de06

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
9cf13f212c19fae02639c2ba96f7c00ffce29316