Node Lief — Development skill for Claude Code
Node.js bindings for LIEF, a library to parse and manipulate ELF, PE, and Mach-O executables.
How to install Node Lief
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open Piebald-AI/node-lief and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Node Lief does
Node.js bindings for LIEF, a library to parse and manipulate ELF, PE, and Mach-O executables.
Alternatives in Development
- n8n Expression Syntax — n8n expression syntax with {{}} and $json/$node variables 3.6k ★
- Gopher Code — Claude Code, rewritten from scratch in Go 714 ★
- Build.mjs 使用说明 — 这是 Claude Config Manager 的 Node.js 构建脚本,提供了比原生 shell 脚本更好的跨平台支持和更多功能 254 ★
README
node-lief
[](./badges/coverage.svg)
Node.js bindings for [LIEF](https://lief.re), a library to parse and manipulate ELF, PE, and Mach-O executables. We use it in production in [tweakcc](https://github.com/Piebald-AI/tweakcc), and it's also used in community projects like [claude-depester](https://github.com/ominiverdi/claude-depester).
These bindings were largely generated by Claude, and have 97%+ coverage. Most of the APIs are currently used in tweakcc.
Installation
# npm
npm install node-lief
# yarn
yarn add node-lief
# pnpm
pnpm add node-lief
Usage
import LIEF from 'node-lief';
// Parse any binary (format is auto-detected)
const binary = LIEF.parse('/bin/ls');
console.log(binary.format); // 'ELF' | 'PE' | 'MachO'
console.log(binary.entrypoint); // 0x1234n (bigint)
console.log(binary.isPie); // true
// Iterate sections
for (const section of binary.sections()) {
console.log(section.name, section.virtualAddress);
}
// Modify and write
binary.patchAddress(0x1000n, [0x90, 0x90, 0x90]);
binary.write('./patched');
Format-specific APIs
import LIEF from 'node-lief';
// Mach-O: Handle universal binaries and code signatures
const fat = LIEF.MachO.parse('./macho-binary');
const binary = fat.at(0) as LIEF.MachO.Binary;
if (binary.hasCodeSignature) {
binary.removeSignature();
}
const segment = binary.getSegment('__TEXT');
const section = segment?.getSection('__text');
console.log(section?.content); // Buffer
// ELF: Access overlay data
const elf = LIEF.parse('./elf-binary') as LIEF.ELF.Binary;
if (elf.hasOverlay) {
console.log(elf.overlay); // Buffer
}
// PE: Work with sections
const pe = LIEF.parse('./pe-binary') as LIEF.PE.Binary;
const peSection = pe.getSection('.text');
console.log(peSection?.virtualSize);
API
**`LIEF.parse(path: string)`** — Parse a binary and return a format-specific `Binary` object.
**`LIEF.MachO.parse(path: str
Related Skills
Mach Init
Machiavelli — initialize your ego-center (yourself) in the corporate ontology. Run once; idempotent. Sets your
Claude Warmup
Manipulate Claude Code's 5-hour usage window into resetting when you actually need it.
Economic Sim
Quantify a candidate economic finding — compute attack cost vs extractable value and, when possible, reproduce
VS Claude
VS Code extension and MCP server so Claude Code can open files, diffs and manipulate VS Code in other ways.
Mach Daily
Machiavelli — daily digest of corporate intrigue. Who to talk to, what to prepare, what to watch. Manual comma
Effect Claudecode
Effect v4 bindings for Claude Code's plugin primitives — hooks, skills, settings, MCP servers, frontmatter
Related Agents
Binary Analyst
Triagem e engenharia reversa estática de artefatos compilados — .jar/.class/.apk, .dll/.exe/.NET, ELF/PE/Mach-
Propagate
Generate tests from Allium specifications. Use when the user wants to propagate tests, generate test files fro
Gui Agent
Stage 3 GUI implementation specialist. Integrates finalized WebView UI mockups with JUCE C++ code, creates par