Windows 環境解壓 OpenWRT固件

2

天津11选5走势图分析 www.lixcgb.com.cn OpenWRT 支持的硬件環境非常多,很多你懂的軟件源碼殘缺不全導致沒辦法自行編譯,而別人發布的bin固件又不是你需要的,這時候我們就需要解包bin固件來提取想要的文件。

本文為了小白能看的懂,碼的比較啰嗦,有個心理準備哈

OpenWRT 是基于 Linux 的系統,bin格式固件是 Linux 文件系統,Windows 幾乎沒有辦法操作,所以我們需要 Docker 容器或 Ubuntu on Windows 來操作。

首先默認你是全新安裝 Docker for windows

開啟命令行執行

docker run -it ubuntu bash

啟動一個 ubuntu bash ,docker hub 官方提供的這個 ubuntu 鏡像很迷你,所以“一般”常用的軟件都需要自行安裝。

首先根據喜好安裝一個文本編輯器,這里選擇 nano
apt-get install nano

因為環境需要下載的包比較多,所以第一步還是切換軟件源為清華大學國內的鏡像

nano /etc/apt/sources.list

接下來安裝解包所需要的軟件

apt-get install binwalk squashfs-tools

復制需要解包的bin文件到docker中,新開一個windows命令行窗口,使用 docker ps 命令 獲取當前運行的 ubuntu 系統的id,然后執行

docker cp D:/test.bin dad510f38fd1:/root/

這里的 dad510f38fd1 是每個人不同的,不要直接復制
使用 binwalk 查看文件格式

binwalk /root/test.bin

如果你可以看到分區信息,那么 直接使用 binwalk -e *.bin 解壓bin文件,我的bin是詭異的 POSIX tar archive (GNU) ,所以先解壓tar

tar -xvf test.bin

cd 到 tar 解壓的文件夾

ls -lht

找到體積最龐大的那個文件,我這里是 root,這次執行 binwalk root 就可以看到詳細的分區信息了

binwalk -e root
# 解壓成功會生成一個 .extracted 文件夾
cd *.extracted
# 開始解包固件內容
unsquashfs -dest output *.squashfs

OVER!

共 2 條評論

  1. 回復

    文章不錯非常喜歡

  2. 回復

    請教下樓主,在win下docker安裝nextcloud,到達配置數據庫這步時,選擇mysql(mysql 是宿主機里裝的即當前win下,防火墻開了端口),老報錯:Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory

發表評論

您的郵箱不會公開,當您的評論有新的回復時,會通過您填寫的郵箱向您發送評論內容。 必填字段 *

為何看不到我發布的評論?

正在提交, 請稍候...