JSPM

nullbyte

1.0.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 2
    • Score
      100M100P100Q18991F
    • License Unlicensed

    Write empty bytes to provided memory patterns by memory patching.

    Package Exports

    • nullbyte
    • nullbyte/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nullbyte) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    nullbyte

    Write empty bytes to provided memory patterns by memory patching.

    Usage

    import { patch } from 'nullbyte';
    
    /**
     * @param {Number} pid - Process ID to attach to
     * @param {string[]} patterns - Array of memory patterns to null out
     * @param {boolean=false} matchOne - Whether to consider the patch successful if atleast one of the patterns match
     */
    
    // Requires both patterns to be patched to consider the patch successful
    patch(process.pid, ['D3 FT 55 ? 29', 'pattern2']);
    
    // Requires only one of the patterns to be patched to consider the patch successful
    patch(process.pid, ['D3 FT 55 ? 29', 'pattern2'], true);

    Installation

    Any node package manager works.

    • npm i nullbyte
    • pnpm i nullbyte
    • yarn add nullbyte

    Platform specific:

    • npm i nullbyte@win32
    • npm i nullbyte@linux

    How it works

    You may see what nullbyte is up to behind the scenes. When patch is called, nullbyte will attempt to null out the bytes of the patterns you provided (will freeze the javascript thread, so nothing else will work until its done, this is more useful for patching out bytes before an app launches).

    How will I know if it was successful

    If all of the conditions listed below are met, nullbyte's patch will return a boolean indicating whether or not the patch was successful.

    Successful conditions

    nullbyte is very strict on what "success" means. nullbyte will need the following conditions to be met for the patch to be successful:

    • Process ID is a number
    • Patterns is an array
    • Process ID is a valid running process

    If matchOne is not specified or is false, the following is also required:

    • All patterns are successfuly found in memory (if one doesn't get found, nullbyte will deem the patch unsuccessful, even if one pattern was patched)