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

2.0.4 • 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.

Package Sidebar

Install

npm i macho-unsign

Weekly Downloads

64

Version

2.0.4

License

MPL-2.0

Unpacked Size

103 kB

Total Files

23

Last publish

Collaborators

  • alexanderomara