基于mt7621架构路由器编译auditord(生成ipk包)

在完成移动互联网安全第二次实验中,遇到了很多之前没有见过的问题,特此记录

实验环境

  • 路由器型号:Xiaomi R3G(mt7621)
  • Openwrt: 基于L大源码(R22.3.13)
  • 内核版本:5.4.175
  • Kali:21.04

准备工作

下载SDK环境

由于实验所用的auditord为源码,因此需要自行编译生成对应ipk包,再进行安装

SDK环境:是一个仿照真实Openwrt的完整编译环境

加入环境变量

在编译过程中我们需要使用交叉编译环境,才能在Kali中编译出可在Openwrt中运行的程序

vim $HOME/.bashrc
# 将SDK中staging_dir/toolchain/bin添加进环境变量中
# 保存环境变量并使其生效
source $HOME/.bashrc
# 确定环境变量生效
echo $PATH
mispel-openwrt-linux-gcc -v #有正常输出即为生效

在这里插入图片描述

安装libubox和libuci库

在auditord中用到了libubox和libuci库,需要进行安装

# 声明所用的交叉编译器环境,保证可兼容
export CC=mispel-openwrt-linux-gcc

libubox库依赖json-c库,所以需要先安装:

$ git clone https://github.com/json-c/json-c.git
$ cd json-c/
$ ./autogen.sh
$ make
$ make install

安装libubox:

$ git clone http://git.openwrt.org/project/libubox.git
$ cd libubox
$ cmake -DBUILD_LUA=off
$ cmake CMakeLists.txt
$ make
$ make install
# /libubox/libubox.so

安装libuci:

git clone https://git.openwrt.org/project/uci.git uci
cd uci
cmake -DBUILD_LUA=off
cmake CMakeLists.txt
make
# /uci/libuci.so

将生成的libubox.so libubox.a和libuci.so libuci.a拷贝到toolchain/lib中备用
**注意:**一定要保证库所用的编译器与路由器的编译器相同,可以用file xxx.so 查看该库的编译环境
在这里插入图片描述

编译auditord

将auditord文件夹复制到sdk/package中,返回sdk路径下。

make package/auditord/compile V=99

进行编译,编译结果auditord.ipk在sdk/bin/packages/misple/base

安装auditord

将ipk包发送到路由器中

scp auditord.ipk root@192.168.1.1:/tmp

# ssh路由器
cd /tmp
# auditord基于audit,因此需要先安装audit
opkg install audit
opkg install auditord.ipk

参考链接

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值