Making Closed Software Act Like It's Open
The Installer writes "Researchers from the University of Washington have managed to add customization and accessibility options to proprietary software without ever touching the source code. Rather than alter program code, Prefab looks for the pixels associated with the blocks of code used to paint applications to a screen, grabs hold of them, and alters them according to whatever enhancements the user has chosen to apply. Any user input is then fed back to the original software, still running behind the enhanced interface."
Are we really that desperate to continue using closed software.
This is called a screen scraper, and likes to break with updates to the underlying program, right?
That has to add a lot of overhead to the already running process and to what benefit? If it's reading the code "as many as 20 times per second" that is going to add tons of CPU and RAM usage to the system that just isn't needed. F/OSS ftw!
"There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
The headline seems completely disconnected from text of the summary
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
Tools like this have been around for ages, although they are usually called "GUI test frameworks" or "automation assistants". Such tools provide a way of scripting interactions with an existing GUI. However, they really only focus on mimicking pre-recorded user interactions--it seems like it would be quite time-consuming and fragile to reverse-engineer an arbitrary program's dialogue boxes in a robust way that would allow control to be significantly enhanced.
Also, on Windows, at least, there are tools that enhance the operation of dialogue boxes (for example, adding history and options to the File Open dialog). Those tools work at a more abstract level than snagging pixels, which is a lot more efficient--but that means they are ineffective on applications that have already customized those dialogues.
It seems like the fundamental non-breakthrough here is that the application actually must already include the functionality that you want to express in your modified UI--otherwise, you can modify the UI all you want, but the app will only do what it's capable of. So if you want it to display a bunch of different renderings in sub-windows automatically (to use their example), it had better be capable of that display already.
this is nothing new
We show prisoners how to paint the bars on their windows the color of the sky and pretend that they are free.
Exploits that do this are in the wild.
They hijack your client display when you access a banking page, fill in the account details and amount for you, while presenting you with interface to enter your target account, then replace the data on the confirmation page with whatever you entered while obscuring the data they entered. You sign the transaction with a token or OTP and instead of sending $15 to your aunt, $10k money gets transferred to the hijacker's account in Nigeria.
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2