Ducky 迷你固件黑客攻击

逆向工程 拆卸 固件 USB
2021-06-28 06:30:24

这是我的第一个逆向工程项目!我最近买了一个 Ducky Mini 键盘,它由 ARM Cortex-M3 SoC(具体来说是 Holtek HT32F1655)控制,并注意到其他基于相同或类似芯片的键盘已经成功修改了固件,例如Quickfire Rapid 打蛇。

使用上面的链接作为指南(虽然很粗糙 - 这篇文章更像是一个通用过程,而不是固件破解这些键盘的指南,)我已经开始为 Ducky Mini 创建 CFW(希望能奏效稍后在任何基于 Holtek32 的键盘上,例如 Poker 2 和 Pok3r。)

到目前为止的进展:我已经成功地将固件与 Ducky 发布的可执行更新程序隔离,并完成了对加扰和部分加密的汇编代码的异或解密。从什么是可拆卸的,我相信我已经找到并修复了一小部分组件,它阻止通过 USB 读取闪存数据超过 0x2C00(为了简单起见,键盘固件版本保存在 0x2800 和 0x2C00 之间的内存区域中,)类似于 Quickfire迅速的。我远不是 ARM 汇编方面的专家,在 IDA 中遵循分段代码很痛苦,但我很确定我所做的小改动是正确的。

我被卡住的地方: 上面文章的作者提到使用 libusb 编写一个小程序,直接从键盘转储未加密的固件。不幸的是,我完全没有完成这一步所需的 libusb 或 USB 协议的知识。因此,我什至无法确认我对固件所做的更改是否使闪存在 0x2C00 之后可读,更不用说允许我转储固件了。有兴趣和经验的人可以在这里提供帮助吗?

0个回答
没有发现任何回复~