pe-library
Node.js library for Portable Executable format
Last updated 3 years ago by jet2jet .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install pe-library 
SYNC missed versions from official npm registry.

NPM version Build Status

pe-library

pe-library provides parsing and generating Portable Executable (known as Windows Executables) binaries.

Usage

import * as PE from 'pe-library';
import * as fs from 'fs';

// load and parse data
let data = fs.readFileSync('MyApp.exe');
// (the Node.js Buffer instance can be specified directly to NtExecutable.from)
let exe = PE.NtExecutable.from(data);

// get section data
let exportSection = exe.getSectionByEntry(PE.Format.ImageDirectoryEntry.Export);
// read binary data stored in exportSection.data ...
// to write binary: use exe.setSectionByEntry

// write to buffer
let newBin = exe.generate();
fs.writeFileSync('MyApp_modified.exe', new Buffer(newBin));

from CommonJS (using require)

Starting from v1.0.0, CommonJS support is changed; you must use pe-library/cjs to use from CommonJS file.

const { load } = require('pe-library/cjs');
const fs = require('fs');
load().then((PE) => {
  // load and parse data
  let data = fs.readFileSync('MyApp.exe');
  // (the Node.js Buffer instance can be specified directly to NtExecutable.from)
  let exe = PE.NtExecutable.from(data);

  // get section data
  let exportSection = exe.getSectionByEntry(
    PE.Format.ImageDirectoryEntry.Export
  );
  // read binary data stored in exportSection.data ...
  // to write binary: use exe.setSectionByEntry

  // write to buffer
  let newBin = exe.generate();
  fs.writeFileSync('MyApp_modified.exe', new Buffer(newBin));
});

for CommonJS-based TypeScript module

// you can use PE namespace for type-reference only
import { type PE, load } from 'pe-library/cjs';
load().then((pe: typeof PE) => {
  ...
});

License

Current Tags

  • 1.0.1                                ...           latest (8 months ago)

11 Versions

  • 0.4.1                                ...           5 months ago
  • 1.0.1                                ...           8 months ago
  • 1.0.0                                ...           2 years ago
  • 0.4.0                                ...           2 years ago
  • 0.3.0                                ...           3 years ago
  • 0.2.1                                ...           3 years ago
  • 0.2.0                                ...           3 years ago
  • 0.1.3                                ...           3 years ago
  • 0.1.2                                ...           3 years ago
  • 0.1.1                                ...           3 years ago
  • 0.1.0                                ...           3 years ago
Maintainers (1)
Downloads
Total 0
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE