千家信息网

怎么使用Emba对基于Linux的嵌入式设备固件进行分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"怎么使用Emba对基于Linux的嵌入式设备固件进行分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2026年11月02日怎么使用Emba对基于Linux的嵌入式设备固件进行分析

本篇内容介绍了"怎么使用Emba对基于Linux的嵌入式设备固件进行分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

写在前面的话

Emba是一款针对基于Linux的嵌入式设备固件的分析工具,本质上来说,Emba是一款固件扫描器,可以帮助广大研究人员分析基于Linux的已提取出来的固件镜像。在该工具的帮助下,我们可以轻松识别并分析大体积固件镜像中有意思的部分。虽然Emba支持离线固件镜像,但它可以同时对实时系统或已提取镜像进行分析。除此之外,Emba还可以分析内核配置,其主要功能其实也是为渗透测试人员所设计的。该工具需要研究人员与之交互,并且能够 尽可能多地给研究人员提供关于目标固件的任何信息。测试人员可以自行决定需要重点关注的镜像区域,并对分析结果进行解释和验证。

工具依赖组件

readelffindgrepmodinforealpathsedcutsortbasenamestringsbcnetstat可选: tree可选: shellcheck可选: docker可选: docker-compose可选: yara可选: qemu可选: binwalk可选: cve-search可选: cve-searchsploit

如需检测这些依赖组件,可运行下列命令:

sudo ./emba.sh -d

如需安装所有的依赖组件,可以运行下列命令:

sudo ./installer.sh

工具使用

在开始之前,我们需要检测主机是否已经安装并配置好了Emba运行所需的全部依赖组件,并使用installer.sh脚本进行安装。

首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/e-m-b-a/emba.git

接下来,运行安装脚本:

sudo ./installer.sh

安装好之后,我们就可以使用下列命令来运行Emba了:

sudo ./emba.sh

可选参数

Test firmware / live system-a [MIPS]         Architecture of the linux firmware [MIPS, ARM, x86, x64, PPC]-A [MIPS]         Force Architecture of the linux firmware [MIPS, ARM, x86, x64, PPC] (disable architecture check)-l [./path]       Log path-f [./path]       Firmware path-e [./path]       Exclude paths from testing (multiple usage possible)-m [MODULE_NO.]   Test only with set modules [e.g. -m p05 -m s10 ... ]]                  (multiple usage possible, case insensitive, final modules aren't selectable, if firmware isn't a binary, the p modules won't run)-c                Enable cwe-checker-g                Create grep-able log file in [log_path]/fw_grep.log                  Schematic: MESSAGE_TYPE;MODULE_NUMBER;SUB_MODULE_NUMBER;MESSAGE-E                Enable automated qemu emulation tests (WARNING this module could harm your host!)-D                Run emba in docker container-i                Ignore log path check Dependency check-d                Only check dependencies-F                Check dependencies but ignore errors Special tests-k [./config]     Kernel config path Modify output-s                Print only relative paths-z                Add ANSI color codes to log Firmware details-X [version]      Firmware version (double quote your input)-Y [vendor]       Firmware vendor (double quote your input)-Z [device]       Device (double quote your input)-N [notes]        Testing notes (double quote your input) Help-h                Print this help message

Docker容器

工具还提供了一个简单的Docker-Compose安装来帮助我们在一个Docker容器中运行Emba。接下来,我们需要按照下列方式在Docker中手动运行Docker。

构建:

docker-compose build emba

运行:

sudo ./emba.sh -l ./logs/path_log -f ./firmware/path_firmware/ -D

运行交互式Docker容器:

FIRMWARE=/absolute/path/to/firmware LOG=/home/n/firmware_log/ docker-compose run emba

我们还可以使用-D选项切换Emba的Docker模式:

sudo ./emba.sh -z -s -l ./logs_docker_test1 -f /home/m1k3/git-repos/testimages/testimages/testimages/MIPS_router -E -D

工具使用样例

静态固件测试:

从上传文件或闪存中使用binwalk提取固件;

使用下列命令执行Emba:

sudo ./emba.sh -l ./logs/arm_test -f ./firmware/arm_firmware/

测试内核配置:

sudo ./emba.sh -l ./logs/kernel_conf -k ./kernel.config

许可证协议

本项目的开发与发布遵循GPL v3.0开源许可证协议。

"怎么使用Emba对基于Linux的嵌入式设备固件进行分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

固件 运行 分析 工具 人员 命令 镜像 组件 测试 嵌入式 设备 接下来 容器 研究人员 帮助 研究 配置 内容 内核 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 金融科技创新监管互联网金融 喔噻互联网科技 猪兼强互联网科技 互联网科技公司官网 广州宏创互联网科技 世界互联网领先科技成果 互联网科技logo 互联网金融 科技创新 开启互联网科技时代小说 温州喔噻互联网科技有限公司 开一家科技互联网公司需要多少钱 威龙国际互联网科技公司 锡山区互联网智能科技产品供应 唐山双旺合互联网科技产业园 互联网金融金融科技 杭州科技互联网公司有哪些 北京瑞云互联网科技有限公司 恒生科技互联网指数十大成分股 中国主要互联网科技公司 山东特亿宝互联网科技有限公司 广州宏创互联网科技 友谊互联网络科技 宁波青枫互联网科技有限公司 互联网科技寓意 互联网企业和科技型企业 宜昌元轩互联网科技有限公司 成都互联网科技公司工作好不好 上海钢联属于互联网科技股吗 米泉互联网科技专业怎么样
0