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

9539
external/bdwgc/ChangeLog vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
579e32a39ae8281dec28a8c6e7eaf77278f69927

2588
external/bdwgc/Makefile.in vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
cad435e8eb70b051dc58c924236a9a3ef5b0a1a1

20673
external/bdwgc/autom4te.cache/output.0 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
5f5de8d17353420c38f6370492e3afd75bd52cd7

20673
external/bdwgc/autom4te.cache/output.1 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
5f5de8d17353420c38f6370492e3afd75bd52cd7

20673
external/bdwgc/autom4te.cache/output.2 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
5f5de8d17353420c38f6370492e3afd75bd52cd7

2429
external/bdwgc/autom4te.cache/traces.0 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
9760a043e41993c31a8ad7206c997c0c94689749

2429
external/bdwgc/autom4te.cache/traces.2 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
59144fb5c63a06ce0e84c7ac580426e0ec9faea9

20673
external/bdwgc/configure vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
42faaa4712596f5f611fbe5db0ac7e491f7092de

2053
external/bdwgc/include/gc.h vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
3d10a9a401af64c27b90614806c1340674c38f15

2712
external/bdwgc/include/private/gc_priv.h vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
9945f1a480c350f0b9d817ca87aec82361118729

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