So I’m a little tired, but here is my first progress.
[~] python library (it really is just the smallest proof of concept without logic)
filter dissector (it has basic logic, is not clean, but kind of works)
linux open-source firmware update
So I have yet to understand how the firmware upgrade progress works over network. I will later on probably take a look at the usb protocol as well, but for now it’s probably easier to understand the inner workings of the snmp/enpc firmware upgrader. Since a firmware update is not possible right now (probably because of the error message) I can’t be sure if it works and how it works.
Since I got time and the internet this will probably solve itself over … time.
Oh and my work in progress shit is under https://github.com/BlackLotus/epson-stuff
Oh f this. I now have a dozen articles unpublished as drafts, because I don’t feel comfortable posting them. And hell most of them lost all their relevance (like the analysis of the Windows 10 preview hrrr).
But this here seems full of fun little tidbits that just beg to be written down somewhere so here my situation.
Epson inkjet printer suddenly doesn’t want to print anymore because of not recognized cyan cartridge, cartridge is recognized (found that out through testing), but it just wont work (even with a new one). So what does every normal user do? Of course analyze the firmware!
I will add more infos later, but here is the jist of it. It uses an embedded linux (uclibc) with busybox (of course without notice, sources or really anything). Downgrade is not possible (without modified firmware or firmware installer), firmware installer is windows only, telnet and ftp are there but not active.
So wireshark -> network firmware update (could do it over usb as well, maybe later necessary)
SNMP and custom udp proctocol and yay google brings up some stuff.
So my small todo list
[ ] python library
[ ] wireshark filter
[ ] linux firmware updater
Oh and I will just post my drafts on this one, because why not