android P busybox 交叉编译过程记录

背景:

最近项目发现了发现了2个跟busybox相关的安全漏洞:

busybox1.24.11.32.1CVE-2018-1000517Exact match7.59.82018-06-26T16:29:00Z2021-01-12T06:19:25Z  http://nvd.nist.gov/vuln/detail/CVE-2018-1000517
busybox1.24.11.32.1CVE-2016-2148Exact match7.59.82017-02-09T15:59:00Z2021-01-12T06:19:25Z  http://nvd.nist.gov/vuln/detail/CVE-2016-2148

解决方法:

软件平台:Android 9.0

硬件平台:全志T7

为了修复该漏洞,我需要升级busybox版本,整个过程记录如下:

1、下载busybox源码(https://busybox.net/),选择最新的稳定版本。

2、解压到android源码根目录

3、配置编译选项(交叉编译工具/静态编译)

make menuconfig

1)设置busybox为静态的:CONFIG_STATIC=y

2)设置交叉编译工具的绝对路径

 

3、编译,编译完成后即可看到busybox二进制文件

make

附上config/busybox文件:https://download.csdn.net/download/android_sniper/14812553

4、测试

把busybox push 到android系统,运行结果如下:

# busybox
BusyBox v1.33.0 (2021-01-19 16:40:40 CST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2015.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

对于busybox交叉编译,您可以按照以下步骤进行操作: 1. 获取交叉编译工具链:您需要首先获取与目标平台相匹配的交叉编译工具链,以便在本机上进行编译。您可以从目标平台的供应商或社区获取这个工具链。 2. 下载busybox源代码:您可以从busybox的官方网站(https://busybox.net/downloads/)上下载最新的稳定版本的源代码。 3. 设置环境变量:将交叉编译工具链添加到您的环境变量中,以便系统能够找到它们。例如,您可以将工具链的路径添加到`PATH`变量中。 4. 配置busybox:在命令行中进入busybox源代码目录,并运行`make menuconfig`命令来配置busybox。这将打开一个文本菜单界面,您可以在其中选择要包含在busybox中的功能。 5. 设置目标平台:在配置菜单中设置目标平台的体系结构和编译选项。这些选项将取决于您的目标平台和交叉编译工具链。 6. 编译busybox:运行`make`命令来开始编译busybox。这将使用交叉编译工具链在本机上生成目标平台的可执行文件。 7. 安装busybox:运行`make install`命令来安装busybox。这将把生成的可执行文件复制到指定的安装目录中。 完成上述步骤后,您将得到一个交叉编译后的busybox可执行文件,可以将其部署到目标平台上使用。请注意,具体的步骤可能会因您使用的交叉编译工具链和目标平台而有所不同。因此,在进行交叉编译之前,请确保您已经阅读并理解了相应工具链和平台的文档和指南。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值