Reverse Engineering of a Graphics Format?
Jimbo God of Unix asks: "I recently purchased a color laser (Samsung CLP-500) because it claimed to have Linux compatibility. It does, mostly. However, I was irritated to find that the drivers are proprietary (splc, Samsung Printer Language - Color) and somewhat cranky to get working. I was hoping to find some good resources on reverse engineering the graphics format used to drive the printer. I've managed to mostly dissect the file format, so I think I can get the graphics data out, but I don't really know how to proceed to the next step. Are there any good resources for figuring out how to reverse engineer the graphics format? Are there any tools out there that will help me analyze the format (other than hexdump) or tell me if it's close to something else so I don't have to do as much work?"
"I have something of an advantage since I can compare the output from the Windows driver to the Linux driver, and I was able to dissect the Windows output file from the info gleaned by dissecting the Linux output file. But I'm kind of stuck at the moment and there don't seem to be too many documents or tools out there for dissecting graphics data.
I thought this might be useful for reverse engineering some of the proprietary image compression formats for web cams as well, but that's a project for another day."
I thought this might be useful for reverse engineering some of the proprietary image compression formats for web cams as well, but that's a project for another day."
and reside in the USA?
My next step would be to get a good lawyer to find out if what you are doing will open yourself up to potential legal action.
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
.. such as a page full of checkerboard or something, and work from there.
.. and look for that pattern at each stage through the pipeline ...
if you can see the 'obvious' change in pattern in the file, you've got a lead. but the important thing is to start from the very beginning with something you know
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
They know printers. They know lots about printers, and printer languages. My guess is that they'll be thrilled to get an opportunity to hack another printer working. I know when I bought a printer that has "PS Support", it had a postscript driver in software that talked a propriatary protocol to the printer. They would have gladly written the output driver for it, but they didn't know how it worked.
Maybe if you know how it works, you'll be able to get them to do something with it.
Kirby
and buy a printer that has proper postscript 3 support. your life will be much easier as will your prints. it looks like the 550 has postscript 3 for instance (yes it's more expensive but the lack of headaches will be worth the cost)...
really folks, when you buy a printer don't just look at features and speed. look at the printer languages it features. if it only features a proprietary language (like yours does), be prepared for what you are getting into. pcl5 is okay, but postscript 3 is where its at.
especially because postcript 3 has native support for transparant images (ever wonder why when you print a page of text with graphics that have white borders from a low end printer it produces a box that has a dithered crosshatches in it?) which is really important for b&w printers. having worked in a large copying and printing business i always chuckle when i see printers that can't halftone worth a damn...
Large print giveth, and the small print taketh away
I don't understand how companies can sell printers that don't support Postscript.
Easy. It costs money to develop, license and ship a postscript based printer, and your typical home user doing nothing fancy and running windows doesn't need it - but they're very sensitive to up-front price.
The real question is why do people buy non-postscript printers when they know that their operating system will work trivially with a postscript printer, but will require a lot of effort to work (often badly) with a non-postscript printer?
The same line of reasoning explains the "demo" toner cartridges shipped with low-end printers. Your typical home user is very sensitive to up-front price (and probably never looks at the per-page cost). If the population of people buying printers wanted manufacturers to behave this way they just need to, en masse, be less stupid.