leecher1337/pixma
GitHub: leecher1337/pixma
一套用于解密、解码和解包 Canon PIXMA 打印机固件以便进行内部结构分析的工具集。
Stars: 23 | Forks: 4
## 这是什么?
一些用于解包 Canon PIXMA 系列固件以进行分析的小工具。
## 动机
某些 Pixma 打印机无法重置废墨计数器,现在拒绝打印,
即使废墨容器已经更换。
因此,我对固件的内部工作原理产生了好奇,想寻找有关如何
重置计数器的线索。
但我很快就放弃了。尽管如此,这个过程还是很有趣的,也许这对其他研究人员有用?基本上,我只是实现了以下链接中描述的内容:
https://www.contextis.com/en/blog/hacking-canon-pixma-printers-doomed-encryption
## 如何使用?
1. 下载固件
检查 Pixma 打印机的 USB 设备 ID,例如 04a9:1769
然后在以下命令中,使用设备 ID 替换 1769 来下载固件:
wget `wget -O - -o /dev/null http://gdlp01.c-wss.com/rmds/ij/ijd/ijdupdate/1769.xml | sed -n 's:.*\(.*\) .*:\1:p'`
2. 现在解密固件,并将 SREC 文件解码为二进制文件
你需要 srecord 工具中的 srec_cat,例如 srecord-1.64:http://srecord.sourceforge.net/
./pixma_decrypt 1769V1100AN.bin decoded.asc
grep -v -e '^SF' decoded.asc | srec_cat -o decoded.bin -binary
3. 现在你可以尝试解包 payload:
./pixma_unpack decoded.bin firmware.bin
## 解密 sdata.bin
如果你想解密证书数据(无论出于什么原因你想这么做……
它只是一个受信任 CA 的证书列表,所以不知道为什么它甚至被“加密”了):
wget http://dtv-p.c-ij.com/sdata/struct01/sdata.bin
./dec_sdata sdata.bin sdata.dec
标签:Cutter, 云资产清单, 固件分析, 客户端加密, 打印机, 硬件研究, 解密工具, 逆向工程