|
|
本帖最后由 aspnmy 于 2025-11-12 19:38 编辑
# binwalk_for_Win_v3
适配在Win10/Win11中的Binwalk v3.x以上版本
## 版本说明
binwalk v3 rust重构版完美运行于linux环境,也可以docker部署,但是仍然有部分客户只会使用exe文件双击运行,故此重新适配编译了这个版本
## 版本更新说明
如果百度网盘中的软件版本号与GitHub上的不一致 ,以github上热更新的版本为准
## 文件说明
- readme.md 帮助文件
- binwalk.exe binwalk编译在win11的命令行工具 建议在pwsh下 输入 .\binwalk --help 获得使用方法
- binwalk_gui.exe binwalk.exe程序WinGUI文件,双击执行即可,需要和binwalk.exe在同个目录下
- unsquashfs.exe 位于.\sqfs_for_win\sqfs_for_win.7z 压缩包中,是squashfs压缩独立解包组件,命令行执行,作为备用方案
- Tests 中是测试解包的Dlink的固件例子
## binwalk_for_Win_v3 可能遇到的几个问题
### Fix 修复Win版本完成squashfs解压缩,但是只有部分BIn文件有效 本地需要WSL2 环境、docker环境或者qemu环境。
#### 下载 binwalk-devWin-v3.1.1-r4版本 ,解压后,首先运行Install.exe程序,安装本地Wsl/Wsl2环境(需要bios支持),然后完成安装后再运行binwalk_gui.exe文件就能用WinGUI文件正常解包squashfs文件了,原理就是再wsl环境中运行binwalk-docker版本,但是docker的虚拟宿主文件夹受binwalk_gui.exe文件夹管理,可以上传bin文件,解包后下载解包后的文件。
#### 本地设备没有wsl环境如何处理,运行Install.exe程序的时候,跳出提示,安装dockerdesktop版本、还是wsl版本,能用wsl用wsl,不能用可以选择dockerdesktop版本,这些都(需要bios支持),如果bios确实不支持的,选择安装qemu虚拟机版本,qemu版本会本地安装一个最小linux内核,一般装kali系统的命令行版或者是alnple或者是openart系统,运行成功以后,运行binwalk-linux版本,如下图:
- Extraction of squashfs data at offset 0x1174A4 failed! 报错
- 这个是由于squashfs-tools工具链在win系统下不理想造成的解压失败
- 所以我这个适配版本中使用的是外部工具包“sqfs_for_win”
- 使用的时候把sqfs_for_win.zip 解压缩到binwalk.exe同级目录下的sqfs_for_win路径下即可
## binwalk_for_WinGUI的问题
- 考虑到部分用户只会双击exe 不会使用python脚本运行GUI交互界面,所以binwalk_gui.exe,使用pyinstaller进行编译后的独立exe GUI文件,使用binwalk_gui.exe的时候,需要和binwalk.exe在同级目录下,才能正确调用
- -c参数可以解非标准bin文件
## 路由器固件解包以后重新打包的问题
### 重新LZMA压缩编辑过的固件
- 这个比较简单所以没写GUI程序,mksquashfs也在sqfs_for_win\目录下
- 在cmd 下运行
``` bat
mksquashfs squashfs-root/ new_rootfs.bin -comp xz
# mksquashfs 输出的目录/ 编辑过的bin文件路径 -comp xz
```
- 把自己修改过的bin文件重新进行LZMA压缩
### 使用DD工具重新和头文件固件合并 或者和原始固件合并
```
dd if=<原始固件> of=head.bin bs=1 count=<头部大小>
cat head.bin new_rootfs.bin > new_firmware.bin
```
- DD 也有Win对应工具 就简单跳过了
### 完成打包就可以去虚拟机运行固件 通过就可以烧录了
github:https://github.com/aspnmy/binwalk_for_Win_v3.git
github上要是下载比较慢 可以下载百度网盘中的版本: |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|