https://github.com/vweevers/pe-machine-type
Get the CPU type of a Windows executable, cross-platform.
https://github.com/vweevers/pe-machine-type
Last synced: about 1 year ago
JSON representation
Get the CPU type of a Windows executable, cross-platform.
- Host: GitHub
- URL: https://github.com/vweevers/pe-machine-type
- Owner: vweevers
- License: mit
- Created: 2016-12-19T23:12:04.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-12-11T17:49:53.000Z (over 5 years ago)
- Last Synced: 2025-03-28T21:39:07.249Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 2.93 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# pe-machine-type
**Get the CPU type of a Windows executable, cross-platform.**
[](https://www.npmjs.org/package/pe-machine-type) [](https://www.npmjs.org/package/pe-machine-type) [](http://travis-ci.org/vweevers/pe-machine-type) [](https://ci.appveyor.com/project/vweevers/pe-machine-type) [](https://david-dm.org/vweevers/pe-machine-type)
## example
```js
const mt = require('pe-machine-type')
mt('chrome.exe', function (err, type) {
console.log(type) // 'amd64'
})
```
## `mt(mixed, callback)`
Where `mixed` is either a filename or a file descriptor.
## types
| type | description |
| --------- | ------------ |
| unknown | The contents of this field are assumed to be applicable to any machine type |
| am33 | Matsushita AM33 |
| amd64 | x64 |
| arm | ARM little endian |
| armnt | ARM Thumb-2 little endian |
| ebc | EFI byte code |
| i386 | Intel 386 or later processors and compatible processors |
| ia64 | Intel Itanium processor family |
| m32r | Mitsubishi M32R little endian |
| mips16 | MIPS16 |
| mipsfpu | MIPS with FPU |
| mipsfpu16 | MIPS16 with FPU |
| powerpc | Power PC little endian |
| powerpcfp | Power PC with floating point support |
| r4000 | MIPS little endian |
| riscv32 | RISC-V 32-bit address space |
| riscv64 | RISC-V 64-bit address space |
| riscv128 | RISC-V 128-bit address space |
| sh3 | Hitachi SH3 |
| sh3dsp | Hitachi SH3 DSP |
| sh4 | Hitachi SH4 |
| sh5 | Hitachi SH5 |
| thumb | Thumb |
| wcemipsv2 | MIPS little-endian WCE v2 |
As specified by [Microsoft PE and COFF Specification 9.3](https://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v83.docx) [doc], section 3.3.1.
## related
- [pe-coff](https://github.com/vweevers/pe-coff])
- [pe-machine-type-descriptor](https://github.com/vweevers/pe-machine-type-descriptor])
- [pe-signature](https://github.com/vweevers/pe-signature)
- [pe-signature-offset](https://github.com/vweevers/pe-signature-offset)
## install
With [npm](https://npmjs.org) do:
```
npm install pe-machine-type
```
## license
[MIT](http://opensource.org/licenses/MIT) © Vincent Weevers