1. 什么是BadUSB
找度娘/谷歌爷爷
2. 参考网站
- https://github.com/adamcaudill/Psychson/wiki/Known-Supported-Devices
- https://github.com/adamcaudill/Psychson (有具体制作BadUSB的流程说明)
3. 必要工具
- badusb支持的USB:<https://github.com/adamcaudill/Psychson/wiki/Known-Supported-Devices
> - 需要下载的文件保存在本地:(Phison
打包文件说明) - PsyChson在GitHub上的打包文件:
<https://github.com/adamcaudill/Psychson> - 实验的USB
类型:
SanDisk Ultra 16Gb USB 3.0 SDCZ48-016G - 查看USB固件工具:<http://www.upan.cc/tools/mass/Phison/>,这里我下载了Phison
MPALL v3.72.0B.zip - PS2251-03参数(官网)
4. 环境搭建
- 环境搭建
a. 下载安装
|
b. 查找固件版本等相关信息
方法1: 下载 PsyChson 在GitHub 上的打包文件Psychson-master.zip ,下载到本地, 转到 Psychson-master\Psychson-master\DriveCom 目录下, 用 VS 打开 sln 后缀文件, 重新编译, ..\obj\Debug\ 目录下生成 DriveCom.exe 可执行文件. 或者直接使用Psychson-master\tools\目录下的 DriveCom.exe 即可 复制此exe 文件到 C盘下(为了便于使用命令窗口) 输入命令, 如右图, 将返回硬盘信息 信息中看是否有如下字段(Reported chip type:2303) (这是目前唯一支持的 chip type) 方法2: 打开 Phison MPALL v3.72.0B.zip 里的 GetInfo.exe,输入盘符 可以看到,这里的 芯片类型 也是 2303, 同时 固件版本是 01.01.10 但是这里有个问题是无法看到它是不是 Phison-Chip(群联芯片) 这个没法确定的话下面就得自己制作 Burner Image, 所以得查到芯片版本 这里我们使用另一个工具 ChipGenius.rar, 打开ChipGenius_v4_00_0027_pre2.exe 工具 可以看到 主控型号为 PS2251-03 , 版本是 110 下面开始做固件部分 |
- 备份 固件
a. 复制 Psychson-master\templates\BNdummy.bin 及FWdummy.bin 到 C盘下,
修改BNdummy.bin ->BN03V104M.bin(参考)
运行 DriveCom.exe 执行如下命令,
DriveCom.exe /drive=E /action=DumpFirmware /burner=BN03V104M.BIN /firmware=fw.bin 运行DriveCom, 通过盘符来选择想要写入的盘,以及烧录器镜像的路径和存放固件的路径: E USB盘符 BN03V104M.BIN burner image 名 fw.bin 生成的 firmware dump. 如果盘符为E,BN03V104M.BIN 就是烧录器的镜像,fw.bin就是读出来的固件镜像。 目前只有 大小为200KB 固件镜像能被读出。(这也说明了为何要用 Patriot 8GB Supersonic Xpress 这个U盘)。
发现 再次插入USB时 无法显示盘符了, (郁闷 , 解决方案--Dumping 当然 USB 也能还原 : PS2303 USB recovery 复原
|
问题解决 继续开始备份固件, 又发生错误了 (DeviceIoControl failed:0079)
参考 https://github.com/adamcaudill/Psychson/issues/14 发现有人跟我发生了一样的错误
意思是这个USB 里面没有 内置 Phison-Chip(群联芯片) , 类似如下 我通过 ChipGenius.rar,上面这个工具检查之后, 发现是Phison-Chip(群联芯片) 不管如何, 同一个问题了。 |
- 下载对应的 Burner Image
-
- 打开 http://www.usbdev.ru/files/phison/ 转到 “Additional Files ” 段,
查找之前收集到 的 PS2251-03 对应的固件
下载后,解压, 找个 BN03V104M.BIN ,放到 C盘
开始测试:
Running Demo 1 (HID Payload) ??: <https://github.com/adamcaudill/Psychson>
再次运行一次, 把固件写入 USB
|
重新插入 U盘,发现
U盘自动打开买了窗口,运行 Hello
World .