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 @@
a40f006fa69e7872167eefcf1f68a690be0adea9

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
8b47e1731dcc75d2540e7937480bea12c5c85405

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
4a42e973b69d7c89391b75df1c3dd7388209872c

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
327fd21e8aa756bff47dafe2e7220c9e894dfbb5

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
e21224096f5cc363ba50c347826f7f6e1f35678c

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
a5024bae01caa8aca3a1db33f8b6f4463158cbee

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
b07ce8c2420050960b46fc4f1e74e0b89ed2dcad