基于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
参考链接
- OpenWrt上UCI库的环境搭建
- OpenWrt编译系统(3)之深入探究库依赖错误:Package XXX is missing dependencies for the following libraries
基于mt7621架构路由器编译auditord(生成ipk包)相关推荐
- 基于GUI的mcc编译和dll生成
基于GUI的mcc编译和dll生成 1.mcc的编译 1.1 MCRInstaller编译器的安装 找到Matlab下的MCRInstaller,双击MCRInstaller编译器,运行安装. 1.2 ...
- 基于SSH架构的在线答疑系统
摘要 答疑是教学一个重要环节,在传统的教学模式下,答疑通常是通过老师和学生面对面进行交流,此模式使得答疑在实际教学难以执行.而网络教学模式就打破了传统模式在时间和空间上的限制,同学们可以自主安排时间和 ...
- 使用Compose实现基于MVI架构、retrofit2、支持 glance 小部件的TODO应用
前言 现在声明式 UI 已逐渐成为主流,在客户端上,已有成熟的 Flutter 和 SwiftUi ,而原生安卓上的声明式 UI 却在去年年底才姗姗来迟. 虽然 compose 姗姗来迟,但是关于它的 ...
- 基于CS架构的鸿蒙应用|图片风格样式迁移程序
转自https://www.ailovejinx.top:5800/index.php/archives/7/ 本项目基于CS架构,利用Java语言,在鸿蒙开发工具DevEco Studio中开发了一 ...
- 基于openEuler的OpenSSL编译安装和编程基础
文章目录 基于openEuler的OpenSSL编译安装和编程基础 OpenSSL编译安装 OpenSSL命令的使用 OpenSSL编程 简单测试 BASE64算法 作业 参考资料 基于openEul ...
- 微软发布史上最大NLG模型:基于Transformer架构,170亿参数加持
2020-02-11 18:50 导语:史上最大! 近年来,BERT.GPT-2等深度学习语言模型,极大地提高了问答.摘要.人机对话等下游自然语言处理任务的性能. 而今天,微软研究院重磅发布了有史以来 ...
- 微软分享史上最大基于Transformer架构的语言生成模型
导语:英伟达的"威震天"现在只能屈居第二了. 微软AI&Research今天分享了有史以来最大的基于Transformer架构的语言生成模型Turing NLG(下文简称为 ...
- 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题
基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题 Ubuntu 1604系统除了root,还有kandi和sundi两个用户, ...
- java bs架构书_基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品)
基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品) 来源:2BYSJ.cn 资料编号:2SJ295500 资料等级:★★★★★ %D7%CA%C1%CF%B1%E0%BA%C5% ...
- 基于 Roslyn 实现动态编译
基于 Roslyn 实现动态编译 Intro 之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn ...
最新文章
- MPB:湖南农大尹杰组-猪粪便来源乳酸菌分离技术
- 算法-判断是否是完全二叉树
- 使用星际译王查词(安装字典和声音引擎)
- 为什么虚拟机的linux系统IP是10.0.2.15
- 机器学习集群_机器学习中的多合一集群技术在无监督学习中应该了解
- 深入理解java虚拟机JVM(上)
- HTTP协议&SOCKET协议
- Prompt learning入门
- 传统消费将被销巴生活全返消费颠覆
- 简单记录双系统安装Ububtu22.04
- 无法打开Win10计算机管理,win10系统我的电脑管理打不开怎么办
- Linux预处理功能,ZABBIX4.2预处理新功能---数据节流THROTTLING
- 能跟CAD、BIM软件联合使用的地图神器,比奥维谷歌地图还方便!
- 新华三面试总结(一)
- vue + sentry监控平台
- PID控制的理解与参数整定
- 服务器维护配件,服务器维修,服务器升级,服务器配件,磁盘柜维修及维护
- 第5章【思考与练习2】将数据集划分为训练集与测试集,查看决策树分类器的性能。 将例5-3中的分类器保存到文件中,然后重新加载预测给出的新数据。
- 理想的清理软件——CCleaner
- Vundle ,Vim Bundle