What a coincidence, I just got an email announcing that Breville intend to orphan my Joule sous vide stick: the existing app will stop working, the new app is only available the US and Canada and in parts of Europe.
Live in another country? You're s.o.l., it wasn't officially sold there. You need a new account as well, hope you like the TOS.
All of this for a device whose core functionality -- setting a target temperature, getting the current temperature and checking for error states -- is both trivial and has no inherent need for internet connectivity.
I suppose I should be grateful they're still supporting a device that's like 10 years old. Caveat emptor (I got it as a gift).
On the one hand, every time I read an article like this I'm vindicated against astroturfed bots claiming that nothing ever happens and this isn't where we're headed.
I have an Anova sous vide cooker that is also about 10 years old and has an app, but is fully functional without it.
When I bought it the app was free, but then later became a subscription addon. However they grandfathered all original owners into a free lifetime subscription. Pretty classy.
From get go I considered the whole design with no interface on device a bad idea... Apps can and will often go. Better to have also the local controls.
It is essential to purchase and configure Home Assistant (https://www.home-assistant.io/) compatible devices around the home whenever possible if you want a "smart home" that will last. Everything else is an Internet of Shit treadmill that lasts at most a few years before it falls off and is replaced by a new piece of e-waste.
I hold a licence that allows me to transmit on pretty much whatever frequency I like with as much power as I like, wherever I like.
Someone has to test the transmitter before you hand it off to the customer.
Also, I'm in the UK, where it's hard enough to get the regulatory authorities to do anything about people causing interferenced to licensed chunks of band. You can wipe out the whole of 2.4GHz if you like, you literally could not pay them to take an interest.
Edit: also you have probably done the same a couple of times today too.
So I thought your initial comment was a (pretty good) joke about using a microwave oven, but now I’m not sure. Is this testing license you reference a continuation of the joke or a real thing?
>a device whose core functionality [...] is both trivial and has no inherent need for internet connectivity.
For a while I've given a hard pass to anything which requires an app for such functionality, knowing full well that eventually I'll be locked out of it (not to mention the privacy implications of such designs).
Why would you say "semi-legally"? Nothing "semi" here. What is "semi-legal" is making hardware e-waste by deciding it is "no longer supported". It is "semi" legal because it is legal under the corrupt political systems in most of the world but is criminal against humanity and the planet we all call home. In that sense if you can prevent e-waste trough any means you are a hero.
The semi legal process it's reverse engineering the code. I watched the video she uses gidra and other descompilation tools.
The video it's really good
I really liked the video. I didn't realize you could build programs for no longer supported hardware like this.
I had a similar epifany with SVG, there was an image that I needed to keep editing and then one day I opened the SVG file and realized it's a very readable file and then just built a python script that would modify the SVG file.
Might be worth taking a weekend day and letting claude code reverse engineer the apk (just download the apk off google) and then build an open source app with the functions you need
.docx and .xlsx are also just zip files with XML and attachments. The bad thing is that the XML is Word's internal document structure serialized and behavior for some values is only defined in Microsoft's code.
I've worked on docx and xlsx import/export and the public documentation for the formats was sufficient for normal documents (maybe excluding some very exotic features). That was ca 2010.
Sometimes you also find hidden things lurking accidentally left behind in IPAs and APKs that are nice and juicy and realize they've been shipped on Google Play/App Store for years.
I've found everything from entire copies of internal company manuals to working test credentials for a physical place with a membership barcode in debug logs left inside the app from developers.
Also sometimes changelogs left inside by accident which include things like "It hasn't been sanitized for outside consumption and thus should remain internal
to <company>. Deliver it externally at your own risk of embarassment."
Even better, wait until people discover 7zip's 'parser mode' on Windows (especially). Right click a file -> 7zip -> Open archive -> #:e mode. Really fun way to quickly carve out files and snoop around. I use it like a poor man's binwalk to extract firmware files and updates and etc out of things to usual success.
(#:e Parser mode, ignoring full archives, and checks every single byte position of a file for 'start of archive' bytes to parse archives out of a larger file.)
I've found that Claude Code works well at reversing java applications. Even if it is fully obfuscated claude can restore sensible names for everything and understand how it all works and answer questions about what it is doing.
Interesting, I'd have assumed the guardrails would disallow them from doing anything like that, regardless of legality. Do you need to "convince" it to do it or no questions asked?
It is no questions asked. Even if you are reversing things like anticheats (I wanted to know the privacy implications of running the anticheat modules).
+1. While vibe-coding (natural language to code) is not such a great idea, we can always check the source, so vibe-reverse-engineering (code to natural language) may actually be quite useful.
Naming is an area where LLMs are useful; but I'd still use a regular Java decompiler (there are quite a few of these around) for the actual decompilation part.
It required a lot of manual work and for large apps like Minecraft it took teams of people to figure out what the symbol names should be slowly contributing a little bit every day.
For RE cases where I know the original compiler used (a bit harder on C compilers due to huge number of obscure optimization flags), I give it a feedback loop to write a function that compiles to the original machine code.
Yeah, I had perfect disassembly, since that's a purely mechanical process. I used da65, which worked reasonably well.
But you don't get any function names that way, obviously. Claude would claim some random function were applying friction based on just a subtraction. And a variable that had 2 possible states was named player_id, when the game supports 1-8 players.
It was a bit better when the memory addresses were known IO registers, but not by much.
What a coincidence, I just got an email announcing that Breville intend to orphan my Joule sous vide stick: the existing app will stop working, the new app is only available the US and Canada and in parts of Europe.
Live in another country? You're s.o.l., it wasn't officially sold there. You need a new account as well, hope you like the TOS.
All of this for a device whose core functionality -- setting a target temperature, getting the current temperature and checking for error states -- is both trivial and has no inherent need for internet connectivity.
I suppose I should be grateful they're still supporting a device that's like 10 years old. Caveat emptor (I got it as a gift).
https://community.chefsteps.com/discussion/78615/joule-sous-...
"With Breville+ Cooking, you’ll get: ... The ability to cook with or without WiFi anywhere, anytime."
What has gone wrong with humanity, that we need to advertise that as a feature if you download a new app?
On the one hand, every time I read an article like this I'm vindicated against astroturfed bots claiming that nothing ever happens and this isn't where we're headed.
On the other hand, I don't want to be vindicated.
It reads like a sarcastic post from 10 years ago ending in "Stallman was right"
I have an Anova sous vide cooker that is also about 10 years old and has an app, but is fully functional without it.
When I bought it the app was free, but then later became a subscription addon. However they grandfathered all original owners into a free lifetime subscription. Pretty classy.
From get go I considered the whole design with no interface on device a bad idea... Apps can and will often go. Better to have also the local controls.
It is essential to purchase and configure Home Assistant (https://www.home-assistant.io/) compatible devices around the home whenever possible if you want a "smart home" that will last. Everything else is an Internet of Shit treadmill that lasts at most a few years before it falls off and is replaced by a new piece of e-waste.
This reads like satire:
The ability to cook with or without WiFi anywhere, anytime.
And in a bold face font:
> You've always needed an account to operate your Joule Sous Vide with the Joule app. This is not a new requirement.
Absolute comedy.
I'd pay to cook with WiFi. Just imagine the signal strength!
Isn't that just a microwave oven, more or less?
Just need to amplify it 10000 times
If you can cook with it, just imagine what it's doing to your brain! Forget about 5G...
If you're not cooking with WiFi, you need more key-down transmit power.
I'm currently full QRO on the 13cm band with something around 1600W EIRP CW, and will be for several minutes until the curry base defrosts.
>WiFi
>1600W EIRP
Your local regulatory authority would like a word with you.
I hold a licence that allows me to transmit on pretty much whatever frequency I like with as much power as I like, wherever I like.
Someone has to test the transmitter before you hand it off to the customer.
Also, I'm in the UK, where it's hard enough to get the regulatory authorities to do anything about people causing interferenced to licensed chunks of band. You can wipe out the whole of 2.4GHz if you like, you literally could not pay them to take an interest.
Edit: also you have probably done the same a couple of times today too.
So I thought your initial comment was a (pretty good) joke about using a microwave oven, but now I’m not sure. Is this testing license you reference a continuation of the joke or a real thing?
Jack Donaghy would ride this pitch right up to the C Suite.
“Ambition is the willingness to kill the things you love and eat them to survive”
A sous vide stick! Bahahahaha! Do you use an app for crapping too?
>a device whose core functionality [...] is both trivial and has no inherent need for internet connectivity.
For a while I've given a hard pass to anything which requires an app for such functionality, knowing full well that eventually I'll be locked out of it (not to mention the privacy implications of such designs).
I encourage others to follow suit.
Why would you say "semi-legally"? Nothing "semi" here. What is "semi-legal" is making hardware e-waste by deciding it is "no longer supported". It is "semi" legal because it is legal under the corrupt political systems in most of the world but is criminal against humanity and the planet we all call home. In that sense if you can prevent e-waste trough any means you are a hero.
The semi legal process it's reverse engineering the code. I watched the video she uses gidra and other descompilation tools. The video it's really good
I really liked the video. I didn't realize you could build programs for no longer supported hardware like this. I had a similar epifany with SVG, there was an image that I needed to keep editing and then one day I opened the SVG file and realized it's a very readable file and then just built a python script that would modify the SVG file.
Has anyone does this for VIZIO app that controls among other things their soundbars (circa 2019)
I moved to a different country and the app is not on google play store in the new geography.
Even when it is installed somehow it is absolutely unreliable in pairing or controlling the device.
Wish I had time to go on a quest and reverse engineer and build my own better controller.
Might be worth taking a weekend day and letting claude code reverse engineer the apk (just download the apk off google) and then build an open source app with the functions you need
Warning: Very rambly and somewhat incoherent video; tried to pay attention due to the topic being of interest, but very quickly gave up.
EULAs be damned, even the DMCA has exceptions for RE in the name of interoperability and repair.
You're going to the bathroom at an airport? You pee in a urinal you can't even take home.
YOU
OWN
NOTHING
Before 1984 "take a taxi" meant you could actually take the taxi.
Apparently Taxis in New York used to all be ex-cop cars, and cop cars all had the same key, so one key would get you any taxi.
You wouldn’t download a car
You're not taking all your shits in other people's bathrooms but soil your own instead? What a chump, lmao.
"My boss makes a dollar, I make a dime. That's why I shit on company time."
https://www.youtube.com/watch?v=-gQgx-XX7yw
The same is true for iPhone apps (.ipa files). You can just unzip them.
For many things. Change .epub to .zip for example, you get html text and jpg images
.docx and .xlsx are also just zip files with XML and attachments. The bad thing is that the XML is Word's internal document structure serialized and behavior for some values is only defined in Microsoft's code.
I've worked on docx and xlsx import/export and the public documentation for the formats was sufficient for normal documents (maybe excluding some very exotic features). That was ca 2010.
Even pk3 files from the id Tech engine are just zip files.
Sometimes you also find hidden things lurking accidentally left behind in IPAs and APKs that are nice and juicy and realize they've been shipped on Google Play/App Store for years.
I've found everything from entire copies of internal company manuals to working test credentials for a physical place with a membership barcode in debug logs left inside the app from developers.
Also sometimes changelogs left inside by accident which include things like "It hasn't been sanitized for outside consumption and thus should remain internal to <company>. Deliver it externally at your own risk of embarassment."
It is zip files all the way down
They are typically encrypted, though.
The elites don’t want you to know this but the distribution file formats on the web are zips you can just unzip them I have 458 zips.
Wait till people discover file(1)!
Even better, wait until people discover 7zip's 'parser mode' on Windows (especially). Right click a file -> 7zip -> Open archive -> #:e mode. Really fun way to quickly carve out files and snoop around. I use it like a poor man's binwalk to extract firmware files and updates and etc out of things to usual success.
(#:e Parser mode, ignoring full archives, and checks every single byte position of a file for 'start of archive' bytes to parse archives out of a larger file.)
That's helpful. I always wondered what the * and # modes were for and why some sometimes only one of them worked.
Indeed so
I've found that Claude Code works well at reversing java applications. Even if it is fully obfuscated claude can restore sensible names for everything and understand how it all works and answer questions about what it is doing.
Interesting, I'd have assumed the guardrails would disallow them from doing anything like that, regardless of legality. Do you need to "convince" it to do it or no questions asked?
Claude doesn't care as long as you aren't straight up asking it to write exploits. It's my go-to for reverse engineering tasks.
ChatGPT is full of refusals and has to be jailbroken out of it.
I use AWS Kiro, with the Claude models, and its only to happy to help. I give it the headerless ghidra, and decompilers etc... and away it goes.
It is no questions asked. Even if you are reversing things like anticheats (I wanted to know the privacy implications of running the anticheat modules).
+1. While vibe-coding (natural language to code) is not such a great idea, we can always check the source, so vibe-reverse-engineering (code to natural language) may actually be quite useful.
Naming is an area where LLMs are useful; but I'd still use a regular Java decompiler (there are quite a few of these around) for the actual decompilation part.
Claude will opt to use a regular Java decompiler too.
huh, iirc this already exists long before LLM
Claude is quite skilled at using Ghidra, for example.
It required a lot of manual work and for large apps like Minecraft it took teams of people to figure out what the symbol names should be slowly contributing a little bit every day.
I experimented with disassembling 6502 from the c64 California Games. Claude was very prone to bullshit.
For RE cases where I know the original compiler used (a bit harder on C compilers due to huge number of obscure optimization flags), I give it a feedback loop to write a function that compiles to the original machine code.
Yeah, I had perfect disassembly, since that's a purely mechanical process. I used da65, which worked reasonably well.
But you don't get any function names that way, obviously. Claude would claim some random function were applying friction based on just a subtraction. And a variable that had 2 possible states was named player_id, when the game supports 1-8 players.
It was a bit better when the memory addresses were known IO registers, but not by much.
While somewhat counterintuitive, I have found that Claude is better at decompilation than disassembly.
AI models in general seem to get different assembly languages mixed up easily.
Makes sense for an apk to be a zip file. Apps were supposed to be written in Java and that has always shipped binaries in zip files (jar or war).
There are many "file formats" that are just relabelled zips - the hard part is always reconstructing it after making a change.
That's because zip is really just the first layer.