一个在浏览器中可视化展示 ELF 文件结构的工具:用 C 解析 ELF(文件头、段表、程序头、符号表、重定位等),前端用 Next.js + Material-UI,将解析结果以流式文本呈现。
- 规范统一为只使用
npm,不使用 Yarn;锁文件以package-lock.json为准 - 环境与版本:
- macOS(Apple Silicon)
- 全局 Node
v23.7.0 - 项目内通过
nvm使用 Nodev16.20.2(见.nvmrc)
- 修改原因:
- Node 14 在 Apple Silicon 上通过
nvm install 14源码编译 V8 易失败,因此在本机采用 Node 16 验证运行 - 历史
package-lock.json指向registry.npm.taobao.org会触发证书过期错误,已改用官方源并重建锁 - 旧版文档保留至
README_legacy.md
- Node 14 在 Apple Silicon 上通过
- 启动地址:
http://localhost:3000/ - 放置待解析文件:将 ELF 文件放到
binaries/目录 - 在页面左侧选择操作(
-h/-S/-l/-s/-r)与文件,点击 Execute,右侧显示解析输出
- 安装 nvm(如未安装):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash export NVM_DIR="$HOME/.nvm" . "$NVM_DIR/nvm.sh" - 切换 Node 版本:
建议显示为
nvm use node -vv16.x
- 安装依赖(使用官方 npm registry):
npm config set registry https://registry.npmjs.org/ npm install - 编译本地解析器:
gcc elf_parser.c -o elf_parser - 启动开发服务器:
然后打开
npm run devhttp://localhost:3000/
- 仅使用
npm,不使用 Yarn - 开发安装:
npm install - CI/自动化:
npm ci(严格按照package-lock.json安装)
- 项目根目录即可运行;旧文档中的
cd elfviewer已过时
MIT © wwyqianqian


