binary-file-modifier
v1.0.3
Published
二进制固件文件修改工具 - JavaScript版本
Maintainers
Readme
binary-file-modifier
二进制固件文件修改工具(TypeScript 版本)。支持指定地址、位宽(8/16/32/64)、大小端(be/le)进行写入,同时提供事件回调与配置锁定。
安装
# 项目内安装(库/CLI)
npm install binary-file-modifier
# 或
cnpm install binary-file-modifier
# 全局安装(使用 CLI)
npm install -g binary-file-modifier
# 或
cnpm install -g binary-file-modifier
# 开发依赖安装(测试、示例运行)
cnpm install -D vitest ts-node构建
cnpm run buildAPI 使用示例
基础写入示例(src/examples/basic-usage.ts):
import { BinModifier } from '../binModifier';
const bm = new BinModifier(undefined, {
filePath: '/path/to/firmware.bin',
address: 0,
bitLength: 8,
endian: 'be',
showBytes: true,
logger: console,
});
const fileObj = bm.writeInt(0xff);
await bm.writeToDisk(fileObj);高级功能示例(事件监听与配置锁定,src/examples/advanced-features.ts):
bm.on('before:write', (ctx) => console.log('before', ctx));
bm.on('after:write', (ctx) => console.log('after', ctx));
bm.lock();CLI 使用
构建后可使用 CLI:
# 显示帮助
node dist/cli.js --help
# 或通过 bin 包装
node bin/firmware-modifier --help
# 或使用发布后的可执行别名
binary-file-modifier --help
# 写入示例:将 0x12345678 写入 0x10 位置,32 位小端
node dist/cli.js --file ./sample.bin --address 0x10 --bits 32 --endian le --value 305419896 --show参数说明:
--file固件文件路径--address写入地址(支持十六进制如0x7C00或十进制)--bits位宽:8/16/32/64--endian大小端:be或le--value写入整数值(范围受位宽限制)--show是否打印写入前后字节
运行示例与测试
# 运行示例
cnpm run example:basic
cnpm run example:advanced
# 运行测试
cnpm run test开发说明
- 代码风格:ESLint v9 + Prettier(已配置)
- 类型检查:TypeScript 5.x,严格模式
- 测试:Vitest
- 示例:
src/examples目录
