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.

Dependencies (0)

    Dev Dependencies (17)

    Package Sidebar

    Install

    npm i macho-unsign

    Weekly Downloads

    55

    Version

    2.0.5

    License

    MPL-2.0

    Unpacked Size

    103 kB

    Total Files

    23

    Last publish

    Collaborators

    • alexanderomara