windows-binary-architecture

Find the architecture EXE and DLL files are built for.

Usage no npm install needed!

<script type="module">
  import windowsBinaryArchitecture from 'https://cdn.skypack.dev/windows-binary-architecture';
</script>

README

windows-binary-architecture

Installation

# with npm
npm install windows-binary-architecture

# with yarn
yarn add windows-binary-architecture

What is this about

Find the target CPU architecture of Windows binaries (DLLs, EXEs and others).

The module exposes a single function, getTargetArch(path, callback(err, archName, archCode)) which opens an executable file and determines what CPU architecture the file was built for, by calling your callback with a name for the architecture and its code, according to the table on the Windows documentation, reproduced here.

|Name|Value|Description| |--|--|--| |UNKNOWN| 0x0| The contents of this field are assumed to be applicable to any machine type| |AM33| 0x1d3| Matsushita AM33| |AMD64| 0x8664| x64| |ARM| 0x1c0| ARM little endian| |ARM64| 0xaa64| ARM64 little endian| |ARMNT| 0x1c4| ARM Thumb-2 little endian| |EBC| 0xebc| EFI byte code| |I386| 0x14c| Intel 386 or later processors and compatible processors| |IA64| 0x200| Intel Itanium processor family| |M32R| 0x9041| Mitsubishi M32R little endian| |MIPS16| 0x266| MIPS16| |MIPSFPU| 0x366| MIPS with FPU| |MIPSFPU16| 0x466| MIPS16 with FPU| |POWERPC| 0x1f0| Power PC little endian| |POWERPCFP| 0x1f1| Power PC with floating point support| |R4000| 0x166| MIPS little endian| |RISCV32| 0x5032| RISC-V 32-bit address space| |RISCV64| 0x5064| RISC-V 64-bit address space| |RISCV128| 0x5128| RISC-V 128-bit address space| |SH3| 0x1a2| Hitachi SH3| |SH3DSP| 0x1a3| Hitachi SH3 DSP| |SH4| 0x1a6| Hitachi SH4| |SH5| 0x1a8| Hitachi SH5| |THUMB| 0x1c2| Thumb| |WCEMIPSV2| 0x169| MIPS little-endian WCE v2 | |null| — | Unknown architecture, name is null and the architecture code is sent to the callback as-is|