macho-unsign
TypeScript icon, indicating that this package has built-in type declarations

2.0.5 • Public • Published

Mach-O Unsign

Package for removing Mach-O code signatures

npm node

size downloads

Build Status

Overview

A broken code signature is often worse than no signature, so it can be desirable to remove a signature.

This package can remove code signatures from Mach-O binaries.

Both thin and fat binaries are supported.

Usage

Just pass an ArrayBuffer or an object that is a view of an ArrayBuffer to the unsign function.

If the binary is signed, an unsigned binary in a new ArrayBuffer will be returned.

If the binary has no signatures, null will be returned.

import {readFile, writeFile} from 'node:fs/promises';
import {unsign} from 'macho-unsign';

const unsigned = unsign(await readFile('macho-binary'));
if (unsigned) {
	console.log('Signature Removed', unsigned);
	await writeFile('macho-binary-unsigned', Buffer.from(unsigned));
} else {
	console.log('Not signed');
}

Bugs

If you find a bug or have compatibility issues, please open a ticket under issues section for this repository.

License

Copyright (c) 2019-2024 Alexander O'Mara

Licensed under the Mozilla Public License, v. 2.0.

If this license does not work for you, feel free to contact me.

/macho-unsign/

    Package Sidebar

    Install

    npm i macho-unsign

    Weekly Downloads

    54

    Version

    2.0.5

    License

    MPL-2.0

    Unpacked Size

    103 kB

    Total Files

    23

    Last publish

    Collaborators

    • alexanderomara