ios

libnvram.so编译教程

N 人看过
  1. 使用交叉编译环境
  2. 进行符号链接配置
sudo ln -s ~/am-toolchains/brcm-arm-sdk/hndtools-arm-linux-2.6.36-uclibc-4.5.3 /opt/brcm-arm
echo "PATH=\$PATH:/opt/brcm-arm/bin" >> ~/.profile
source ~/.profile
  1. 下载 libnvram 项目
  2. 配置编译相关依赖
export CC=arm-uclibc-gcc
<em>export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/brcm-arm/lib:/usr/local/lib:/usr/lib</em>
  1. 使用 ldd 命令查看依赖是否补全
ldd arm-uclibc-gcc

发现还缺少 libelf 库,32 位版本

  1. 对 kali 添加 32 架构支持
sudo dpkg --add-architecture i386
sudo apt update
  1. 安装 libelf1:i386
sudo apt-get install libelf1:i386
  1. 修改 config.h 中的配置文件

为了初始化 nvram 时能够正确的配置信息,需要对 config.h 修改

修改图中参数为 eth0 网卡 ip 地址与广播地址

修改挂载点,修改后需要在文件系统中创建目录 mkdir ./mnt/libnvram

如果需要加其他 nvram 的启动配置参数,也在这里进行添加

  1. 尝试编译
make

提示一个 warning

  1. 修改 Makefile,添加 gnu,修复 warning
-D_GNU_SOURCE

9.再次编译,大功告成