1.0.7 ā€¢ Published 1 year ago

node-asm v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Node-ASM

nodejs typescript C++ license npm

Node-asm is cross-platform process memory access for NodeJS with various features for easy access, execution, and modification of process, modules, memory and procedures.

šŸ•¹ Install

 $ yarn add node-asm
 $ npm install node-asm

Warning
The Linux version is still in development and not stable. (not recommended.)

šŸ”„ Features

  • Cross-platform, Typescript and Promise based, zero dependencies.
  • Load and explore all open processes and process modules.
  • External library injection and ejection to process.
  • Read and write process memory with defined types.
  • Pointer address calculation, array of bytes pattern scanning, memory allocation.
  • Execute procedure with shellcode generated according to arguments. āœØ
  • Create module procedure interface, funtionalize procedure.
  • Windows PE format header implementations.

šŸ“Œ About Node Addon

Node-asm internally uses C++ native modules using the Node Addon API and Node-gyp, but the deployed package includes binary files compiled for each platform and architecture, and uses the binary file of the appropriate platform and architecture depending on the execution environment of the NodeJS process.

ā­ So you can use node-asm normally without installing Node Addon API and Node-gyp. but if you want to modify or rebuild node-asm package, the above modules are required.

šŸ” Windows PE Headers

 const dos: image_dos_header = new image_dos_header(process, module.address);
 const nt: image_nt_header32 | image_nt_header64 = await image_nt_headers(process, module.address + await dos.e_lfanew);
 
 const machine = await nt.FileHeader.Machine;
 console.log(machine === 0x8664 ? 'x64' : 'x86');

Node-asm implements the Windows PE headers to execute tasks such as load_procedures and load_sections. Also users can use exported implementations in node-asm/header path.

Headers with architecture-dependent structures such as image_nt_headers and image_optional_headers support functions that return appropriate structures depending on the target process.

See more information about headers here.

šŸ“‹ License

Distributed under the MIT License. See LICENSE for more information.

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago