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 @@
35c6129ea50817823002dcb21c14ab8f2e53cefa

2910
external/llvm-project/libcxx/include/deque vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
08cb295408be582620dcc270412ce7a72940681a

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
a86645d2cc4bcfa5af876c2617b7d71f1a793e2e

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
d6b427b941b5bd04b7d4592f8664ce495e8d6e71

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
9073a5285b1a461bf9b9b8eee3bfeeb5bd8616c9

6603
external/llvm-project/libcxx/include/regex vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
ff84b2738b78c456e0607bfa1ca5e9c30735d2e3

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
f5d548965aaef5eb40fb937c6c50e4db66949272

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
eb443ee0abd6e3ec1f1b717b3df1f3208283f1d1

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
ee61238a932f34400cdee3175286dfac24a34f38

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
54b1e8831d5bc28730b33730b8950a46de50ea56