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 @@
8610cfd93385b96a205adf5a436a2eba86f72340

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
2f038a093660ba0b3a6e47f37b2a928b1395b219

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
c98e5adcc544678b0498ade03dbf44ed2f84d9d3

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
61338700516ffa26e2a36fef4a0843a5fbf01c62

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
dda1738b5b62998937804cc0b4a5ddfd58eb2e2a

View File

@@ -1 +0,0 @@
a3ddd7b2a626fbe3a6ded38ce139edc98ba3b8fe

View File

@@ -1 +0,0 @@
da397dd64b3bc1eaa3458e5e3079156ac6ac70a7

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
0669ac7560e19f2f43316461e9118aad3ed77617

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
ffd4ea06d3dc0b4d66c92c389e17f7ecbeed3ffc

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
691c4525fb3f76bc1e23b17874b125e05de94db7

Some files were not shown because too many files have changed in this diff Show More