remix logo

Hacker Remix

Binary modding a water dispenser to save me from pressing a button (2021)

108 points by trinix912 2 weeks ago | 19 comments

GranPC 1 week ago

> In the end, it took about 8 hours to get this project finished, which was spread out over multiple weeks. Considering that I usually fill my bottle once a day, and it takes about 50 seconds to do so, this will have a positive return-on-investment after only about 1.5 years!

Spoken like a true programmer. :)

theonething 1 week ago

if you factor in the joy he gets each time he uses it, ROI is through the roof.

dtgriscom 1 week ago

Nah. Way too much ROI for a true hacker.

keiferwiseman 7 days ago

Way better ROI than I expected! Usually with these things it’s like “it will pay off after 56 years”

koolba 1 week ago

> Finally, we need to be aware that we can’t rely on the global variables to be initialized with a known value. Initializing it globally in this code would result in the compiler generating some instructions to be run before main() is called, which we can’t very easily patch into the original binary.

Assuming your increase the size of the binary, change the first instruction to jump to the end of the program, do your magic, perform the original first instruction, and finally jump to the second instruction. If the program itself does not self modify or otherwise examine its own size, this would get you to the original start with your modifications applied.

> In the end, it took about 8 hours to get this project finished, which was spread out over multiple weeks.

That’s incredible.

userbinator 1 week ago

I'm surprised the manufacturer didn't enable code protection on the PIC.

If I were in need of a mod like this, I'd just wire another switch in parallel to control the appropriate solenoid.

rkagerer 1 week ago

This is legitimately great stuff!

His expensive electronic device now functions, from a UI perspective, like a normal tap.

Thank goodness traditional taps just work, and were invented before all this "smart" technology made our stuff so annoying.