工具学习_firmware mod kit
通过 Firmware Mod Kit (FMK) 提取第三方库通常涉及提取固件的文件系统,然后从中查找并提取特定的库文件。以下是详细的步骤,展示了如何通过 FMK 提取第三方库。
1. 准备工作
首先,需要确保系统中已经安装了 Firmware Mod Kit 所需的所有依赖项,包括 Subversion、Python、zlib、lzma、build-essential 等。
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python3-magic autoconf
2. 下载 FMK
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit
3. 提取固件文件
使用 extract-firmware.sh
脚本来提取固件镜像。这个脚本将固件镜像的内容解包并提取到工作目录中。
./extract-firmware.sh /path/to/firmware.bin
4. 查找固件中的第三方库或组件
提取固件后,固件的文件系统将被解压到一个目录中,通常这个目录会在 fmk
文件夹下。文件系统的结构可能会因固件类型而异,但常见的文件系统格式如 SquashFS 或 CramFS 都可以被提取。
提取固件后,固件的文件系统会解压到 fmk/
目录下,包含 rootfs/
(提取后的文件系统)、new-firmware.bin
(重建后的固件镜像)和其他辅助文件。进入 rootfs/
目录后,您可以浏览其中的文件系统内容,第三方库通常位于 /lib/
(共享库文件,如 .so
文件)、/usr/lib/
(系统库目录,存放动态链接库)、/usr/local/lib/
(可能包含第三方安装的库)。您可以使用 find
命令来查找所有的 .so
文件,例如:find fmk/rootfs/ -name "*.so"
。
find fmk/rootfs/ -name "*.so"
要查找固件中的第三方组件(非 .so
文件),可以检查一些常见的目录,这些目录通常存放着第三方组件或工具。你可以查看 /usr/bin/
和 /usr/sbin/
,这些目录通常包含可执行文件和系统管理工具;/usr/local/bin/
和 /usr/local/sbin/
则存放用户安装的可执行文件和系统管理工具;/opt/
目录通常包含第三方软件包和工具。此外,虽然 /lib/
和 /usr/lib/
目录主要存放 .so
文件,但它们也可能包含某些特定的第三方库和组件。
find fmk/rootfs/ -type f -exec file {} \; | grep "ELF"