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 @@
36c529eb1ee7f2b39b868cc41d57bb58b3f6a577

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
cddcab53eef6b470810f5c6789f33a072d30321d

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
83bd4362da13c37a87be1c4626e92eb664ce7449

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
e293a030c8657f930d0b1cee1af7dcefcb5a7379

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
814be77bbe604ff5efd8af763a6581355831c80b

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
6f9ded40f758316fed92fde4a93e30a177896b64

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
6249b803704c06091dae0a0912e4747092aef995

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
fd9b2d989b61b990b8a44e1b08a136eb7d54e1d5

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
6a36a2eb67e2142fc655141b0248ed25e85f19cd

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
ac5d28a987af539d0216d301c6cd5127c58a5e10

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