0.0.5 • Published 2 months ago

byte-scanner v0.0.5

Weekly downloads
-
License
-
Repository
-
Last release
2 months ago

ByteScanner

ByteScanner is a module for scanning binary files(or buffers) for specific byte patterns using the Boyer-Moore algorithm.

Installation

To install ByteScanner, use npm:

npm install byte-scanner

or bun

bun add byte-scanner

Usage

import { ByteScanner } from "byte-scanner";

// Create a new instance of ByteScanner
const filePath = "./path/to/your/binary/file";
/* or you can use a buffer
const Buffer = [72, 101, 108, 108, 111];

or if you want to use a hex string instead
import { hexStrToBuf } from "byte-scanner"

const Buffer = hexStrToBuf("fa e0")
*/
const scanner = new ByteScanner(filePath);

// Set pattern
scanner.setPattern("fa??"); // you can use "??" as a wildcard, this matches any byte

// Scan for occurrences
const occurrences = scanner.scan();

// Log the occurrences found
console.log(
  "Occurrences found at indexes:",
  occurrences.map((offset) => {
    return `0x${offset.toString(16).toUpperCase()}`; // convert the address to a string
  }),
);

API

ByteScanner(bufferSpec: FilePath || Buffer)

Creates a new instance of ByteScanner with the specified options(a filepath or buffer).

  • options: the file path option (filePath) is where the scanning will be performed.

setPattern(pattern: string): void

Sets the pattern to be searched for in the file.

  • pattern: A string representing the byte pattern to search for. Use '??' to match any byte.

scan(): ByteScannerResult

Scans the file for occurrences of the set pattern and returns the result.

hexStrToBuf(hex: string): Buffer

Returns the buffer of the input hex

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

0.0.5

2 months ago

0.0.4

2 months ago

0.0.3

3 months ago

0.0.2

3 months ago

0.0.1

3 months ago