You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
nicht direkt ein Bug, mehr ein Kontaktversuch bzw. Diskussion.
Es sieht aus als wären die Befehle mit neueren Maschinen wieder geändert worden. Selbst besitze ich eine ENA 8 mit Touchdisplay. Ich hab schon einiges aufgefangen vom Bluetooth-Dongle. Befehle wie "TY:" funktionieren noch immer. Auch das Auslesen von Statistiken funktioniert noch gleich.
Geändert hat sich offenbar wie die Zubereitung von Kaffee angestoßen wird. Die Befehle die der Dongle dabei an die Maschine sendet machen für mich absolut keinen Sinn wenn ich sie mit bekannten Befehlen vergleiche.
Hast du den Code schon mit neueren Maschinen probiert?
Ich habe aktuell nur Zugriff zu einer Jura E6. Es könnte gut sein, dass es daran liegt, dass ich mit 'FA:04' einfach nur den Knopfdruck simuliere. Wenn jetzt die Maschine aber keine Knöpfe hat, ist das vermutlich nicht verfügbar.
Wenn du einen Bluetooth Dongle hast, sollten die Befehle immer noch darüber funktionieren, da ich hier einfach alles über die "machinefiles" übersetze, die von JURA „veröffentlicht“ werden.
===
I currently only have access to a Jura E6. It could well be that it is because I simply simulate the button pressure with 'FA:04'. But now if the machine has no buttons, that's probably not available.
If you have a Bluetooth dongle, the commands should still work through it, as I'm simply translating everything here via the "machinefiles" that are "published" by JURA.
Die Befehle wie FA:04 habe ich schon probiert und dabei passiert bei der Maschine nichts. Wie du schon sagst, keine Knöpfe und deshalb vermutlich nicht verfügbar. Ich habe beide Dongles. Vom Wi-Fi Dongle konnte ich einen Firmware-Dump anlegen, hatte die Hoffnung daraus das aktuelle Protokoll zu finden. Leider funktioniert der Wi-Fi Dongle nicht mit der ENA 8... Der Wi-Fi Dongle basiert auf einem ESP32, lässt sich also leicht selbst programmieren. Mein Ziel wäre es den Wi-Fi Dongle als Schnittstelle zu verwenden um auch ohne die App Kaffee zubereiten zu können. Vielleicht doch nochmal versuchen die Wi-Fi Firmware zu reversen.
===
I have already tried the commands like FA:04 and nothing happens with the machine. As you say, no buttons and therefore probably not available. I have both dongles. From the Wi-Fi dongle I was able to create a firmware dump, had hope to find from it the current protocol. Unfortunately, the Wi-Fi dongle does not work with the ENA 8.... The Wi-Fi dongle is based on an ESP32, so it is easy to program it yourself. My goal would be to use the Wi-Fi dongle as an interface to make coffee without the app. Maybe another try to reverse engineer the W-Fi firmware.
Hallo Zusammen,
ich versuche mich auch gerade an dem Serial to Jura Protokoll. Danke erstmal für deine tolle arbeit COM8.
Ich habe da nun das gleiche Problem wie BNoiZe. "TY:" und das auslesen der statisiken funktioniert. Nur das zubereiten von Kaffee will nicht (z.b. FA:04). Ich besitze eine Jura E8 und diese hat 6 Tasten!
Einen Dongle hab ich mir noch nicht zugelegt, da ich alles über einen ESP8266 machen wollte. @BNoiZe: Könntest Du mit evtl. ein paar Befehle die beim zubereiten von Kaffee von Dongle zur Maschine geschickt werden zur Verfügung stellen? Danke Schön.
Die Befehle wie FA:04 habe ich schon probiert und dabei passiert bei der Maschine nichts. Wie du schon sagst, keine Knöpfe und deshalb vermutlich nicht verfügbar. Ich habe beide Dongles. Vom Wi-Fi Dongle konnte ich einen Firmware-Dump anlegen, hatte die Hoffnung daraus das aktuelle Protokoll zu finden. Leider funktioniert der Wi-Fi Dongle nicht mit der ENA 8... Der Wi-Fi Dongle basiert auf einem ESP32, lässt sich also leicht selbst programmieren. Mein Ziel wäre es den Wi-Fi Dongle als Schnittstelle zu verwenden um auch ohne die App Kaffee zubereiten zu können. Vielleicht doch nochmal versuchen die Wi-Fi Firmware zu reversen.
===
I have already tried the commands like FA:04 and nothing happens with the machine. As you say, no buttons and therefore probably not available. I have both dongles. From the Wi-Fi dongle I was able to create a firmware dump, had hope to find from it the current protocol. Unfortunately, the Wi-Fi dongle does not work with the ENA 8.... The Wi-Fi dongle is based on an ESP32, so it is easy to program it yourself. My goal would be to use the Wi-Fi dongle as an interface to make coffee without the app. Maybe another try to reverse engineer the W-Fi firmware.
Bekommst du ein ok: als Antwort zurück wenn du z.B. FA:04 an deine Maschiene sendest?
Alternativ kannst du auch mal einkleines skript schreiben und nacheinander von FA:00 bis FA:FF alle Befehle an die Maschiene senden und schauen was passiert. So bin ich auf die Befehle gekommen.
Ja, das mit dem ESP32 habe ich auch schon hinbekommen. Hast du hier auch direkt Kabel an den ESP32 gelötet, oder gibt es da einen bessern Weg? Ich habe zwar die Debug-Pads gesehen, konnte sie aber nicht ordentlich zuordnen.
===
Do you get an ok: as response when you send e.g. FA:04 to your machine?
Alternatively you can write a small script and send all commands from FA:00 to FA:FF to the machine and see what happens. That's how I got the commands.
Yes, I have already managed that with the ESP32. Did you solder cables directly to the ESP32, or is there a better way? I did see the debug pads, but couldn't map them properly.
As a small spoiler, there is nothing about this in the image, as here the coffee is ordered via a second level "obfuscation" after the dogle has authenticated itself:
@BNoiZe: Könntest Du mit evtl. ein paar Befehle die beim zubereiten von Kaffee von Dongle zur Maschine geschickt werden zur Verfügung stellen? Danke Schön.
Sobald meine Frau die Steckdose bei der Kaffeemaschine wieder frei gibt kann ich gerne ein paar Kaffees zubereiten. Vielleicht finden wir ja doch irgendwie raus wie man den Kaffee direkt starten kann ohne das Drücken von Tasten zu simulieren.
===
As soon as my wife releases the socket at the coffee machine I can prepare a few coffees. Maybe we can somehow figure out how to start the coffee directly without simulating the pressing of buttons.
@COM8 Kann ich tatsächlich aus dem Kopf heraus nicht sagen. Muss ich nochmal austesten ob ein "ok" retour kommt. Soweit ich mich erinnere passiert aber einfach nichts. Auch kein "ok". Ich hab schon eine Befehle als Stichprobe getestet, Kaffee kommt dabei aber keine zustande.
Die Testpads konnte ich zuordnen. Habe den ESP32 über diese auch geflasht.
Wenn im Dongle nochmal eine Obfuscation stattfindet, dann sollte es ja möglich sein auf die Ursprungsbefehle zu schließen? Hast du es geschafft die Firmware vom ESP32 zu reversen?
===
I can not actually tell from memory. I must test again whether an "ok" comes back. As far as I remember nothing happens. No "ok" either. I have already tested random commands, but no coffee.
I was able to assign the test pads. I also flashed the ESP32 using them.
If in the dongle again an obfuscation takes place, then it should be possible to determine the original commands? Did you manage to reverse the firmware of the ESP32?
Problem ist, der Handshake, den ich hier beschreibe findet nur garantiert beim Bluetooth-Dongle statt. Da meine Maschiene auch kein Support für den WiFi-Dongle hat kann ich da nicht wirklich snoopen (klar ich könnte eine dummy-Maschiene bauen indem ich mit einem ESP das simuliere und dann schauen was passiert). Bisher bin ich aber daran gescheitert aus den Daten irgendeinen Sinn zu machen, was danach kommt. Hier ein paar Snoops: https://github.com/Jutta-Proto/protocol-cpp/tree/main/protocol_snoops
Ja, die ESP32-Firmware ist nicht verschlüsselt und kann somit einfach analysiert werden. Das habe ich auch schon bei den ganzen Strings gemacht, die in der Binary zu finden sind (Binwalk). Weiter bin ich aber bisher noch nicht gegangen, da ich gerade daran Arbeite das dumpen zu dokumentieren.
Darf ich dein Bild von der Platine hier verwenden?
Auch die Firmware von Bluetooth-Dongle kann gedumpt werden, da bin ich aber gerade noch dran mich ein zu lesen, da ich mit diesem Microcontroller noch nie gearbeitet habe.
===
Problem is, the handshake I describe here is only guaranteed to happen with the Bluetooth dongle. Since my machine also has no support for the WiFi dongle I can't really snoop there (sure I could build a dummy machine by simulating it with an ESP and then see what happens). But so far I failed to make any sense out of the data what comes after. Here are a few snoops: https://github.com/Jutta-Proto/protocol-cpp/tree/main/protocol_snoops
Yes, the ESP32 firmware is not encrypted, so it can be easily analyzed. I already did that with all the strings that can be found in the binary (Binwalk). But I haven't gone further yet, because I'm working on documenting the dumping.
Ich vermute mal, dass die Kommunikation zwischen Bluetooth- bzw. WiFi-Dongle und Maschine wohl die gleiche sein wird. Die Snoops sehen bei mir auch so aus, auch mir erschließt sich die Logik dahinter noch nicht.
binwalk hab ich auch schon drüber laufen lassen. Sitze im Moment vor Ghidra und versuche zu verstehen was ich da sehe. Bin mir aber nicht sicher ob der dump den ich habe vollständig ist... Muss sagen, dass ich mich vorher noch nie mit Reverse Engineering beschäftigt habe.
Bild gerne verwenden.
Kann man dich irgendwo anders auch noch antreffen? Discord oder dergleichen?
===
I assume that the communication between the Bluetooth or WiFi dongle and the machine will be the same. The snoops seem the same on my machine, but I also don't understand the logic behind it yet.
I have also run binwalk over it. At the moment I'm sitting in front of Ghidra and trying to understand what I see. But I am not sure if the dump I have is complete... Must say that I have never dealt with reverse engineering before.
Feel free to use image.
Is there anywhere else you can be contacted? Discord or something like that?
Connecting is like we know it. Looks like all things after T3 are somehow encrypted. As soon as the device disconnects from bluetooth there is now more output from dongle/machine. One thing all messages have in common is the & at the beginning and \r\n as end.
Thank you for the byte sequences.
If I only send "FA:xx" nothing comes back from the coffee machine. As soon as I perform a key exanche, the coffee machine responds with an undefinable byte message.
I think it's not so easy to decipher the algorithm used by Jura.
I also find it strange that different messages were always sent to the coffee machine to make hot water.
Tomorrow I would do a "FA:xx" Loop from 00 to FF with and without key exanche.
I assume that the communication between the Bluetooth or WiFi dongle and the machine will be the same. The snoops seem the same on my machine, but I also don't understand the logic behind it yet.
I have also run binwalk over it. At the moment I'm sitting in front of Ghidra and trying to understand what I see. But I am not sure if the dump I have is complete... Must say that I have never dealt with reverse engineering before.
Feel free to use image.
Is there anywhere else you can be contacted? Discord or something like that?
I have a bit of basic knowledge about the tools used for such jobs, but nothing too fancy here.
Sure we could open a chat room on Matrix (@ga87qip:tum.de) or XMPP (com8@xmpp.uwpx.org). I don't have a discord account right now. Do you have a Matrix or XMPP account?
Five times hot water. Five times a different command sent from the dongle to the machine.
Yes, that's exactly what I've been scratching my head about for almost half a year so far. Does the handshake look the same for you like described here. Especially the @T2 and @t2 messages.
Currently looking into getting an XMPP account or installing Matrix.
Yes, that's exactly what I've been scratching my head about for almost half a year so far. Does the handshake look the same for you like described here. Especially the @T2 and @t2 messages.
The process for the handshake is the same, but the keys and version are different.
I'm trying to resurrect all this. I've done a full packet capture on the network traffic between the app and wifi dongle; hoping it may help shed some light.
@COM8
Was meinst Du mit:
"Wenn du einen Bluetooth Dongle hast, sollten die Befehle immer noch darüber funktionieren, da ich hier einfach alles über die "machinefiles" übersetze, die von JURA „veröffentlicht“ werden."
Wilkommen @8818freak 🎉 !
Wenn man die Android-App Dekompiliert findet man dort die ominösen "machinefiles". Das sind XML-Dateien, die das Interface zur Kaffeemaschiene für den BT-Dongle definieren.
Mehr dazu hier: https://github.com/Jutta-Proto/gtk-ui#machine-files
====
Welcome @8818freak 🎉 !
If you decompile the Android app you will find the ominous "machinefiles". These are XML files that define the interface to the coffee machine for the BT dongle.
More about this here: https://github.com/Jutta-Proto/gtk-ui#machine-files
Ah, ok.
Die SW gab es damals noch nicht.
Irgendwie hatte ich gehofft, Du hättest mit der Serviceanimation "gespielt". Die enthält sehr viel mehr Informationen zu den Maschinen. Mit ihr lassen sich ALLE Jura-Maschinen reparieren, mit neuen Daten versehen und zum Teil auch programmieren.
Oh, ja. Dieses Rabbit Hole bin ich auch schon runter gegangen. Aber ich habe da nichts weiteres herausgefunden, wie den Testmode, wo man alle Buttons etc. testen kann.
AN:20 setzt die Maschiene in einen Testmode, wo ein Techniker alle Buttons, Schalter etc. testen kann und immer ein OK\r\n zurück kommt, sollte etwas erkannt worden sein.
Beim bruteforcen von Kommandos bin ich aber auch schon einmal in einem Menü gelandet, wo auf dem Display stand "Programming...". Das konnte ich aber leider nicht mehr reproduzieren.
====
AN:20 puts the machine into a test mode, where a technician can test all buttons, switches etc. and always gets an OK\r\n back, if something was detected.
When bruteforcing commands, I also ended up in a menu where the display said "Programming...". Unfortunately I could not reproduce this.
Ah, ok. Es gibt auch einen Display- und und einen LED- Test. Aber Einstellungen werden Ausschließlich im Kundenmenü oder mit der Serviceanimation über die serielle Schnittstelle vorgenommen, ebenso das Laden von Updates oder neuen Parametern, beispielsweise für Anpassungen von Heizkurven, Pumpensteuerung, Trester-Mengen, minimale und maximale Mahlwerkslaufzeiten, Vorbrühen ein, aus, Vorbrühdauer, Funktionen der Tasten bei den Profimaschinen, Kolbenhübe je Taste....
Hi,
I’m also interested to have a look at what you guys do to investigate this protocol on your ghidra repo.
Would that be possible to be granted read rights as well ?
Hallo COM8, vielen Dank für Deine Fleißarbeit! Ich würde gern eine WE6 per BT (gtk-ui) ansteuern. Was mir nicht klar ist, an welcher Stelle verweise ich auf das alternative machinefile (oder genügt es alle machinefiles unter: build/_deps/jutta_bt_proto-src/src/resources abzulegen?) Lieben Dank
Activity
COM8 commentedon Mar 25, 2022
Ich habe aktuell nur Zugriff zu einer Jura E6. Es könnte gut sein, dass es daran liegt, dass ich mit 'FA:04' einfach nur den Knopfdruck simuliere. Wenn jetzt die Maschine aber keine Knöpfe hat, ist das vermutlich nicht verfügbar.
Wenn du einen Bluetooth Dongle hast, sollten die Befehle immer noch darüber funktionieren, da ich hier einfach alles über die "machinefiles" übersetze, die von JURA „veröffentlicht“ werden.
===
I currently only have access to a Jura E6. It could well be that it is because I simply simulate the button pressure with 'FA:04'. But now if the machine has no buttons, that's probably not available.
If you have a Bluetooth dongle, the commands should still work through it, as I'm simply translating everything here via the "machinefiles" that are "published" by JURA.
BNoiZe commentedon Mar 25, 2022
Die Befehle wie FA:04 habe ich schon probiert und dabei passiert bei der Maschine nichts. Wie du schon sagst, keine Knöpfe und deshalb vermutlich nicht verfügbar. Ich habe beide Dongles. Vom Wi-Fi Dongle konnte ich einen Firmware-Dump anlegen, hatte die Hoffnung daraus das aktuelle Protokoll zu finden. Leider funktioniert der Wi-Fi Dongle nicht mit der ENA 8... Der Wi-Fi Dongle basiert auf einem ESP32, lässt sich also leicht selbst programmieren. Mein Ziel wäre es den Wi-Fi Dongle als Schnittstelle zu verwenden um auch ohne die App Kaffee zubereiten zu können. Vielleicht doch nochmal versuchen die Wi-Fi Firmware zu reversen.
===
I have already tried the commands like FA:04 and nothing happens with the machine. As you say, no buttons and therefore probably not available. I have both dongles. From the Wi-Fi dongle I was able to create a firmware dump, had hope to find from it the current protocol. Unfortunately, the Wi-Fi dongle does not work with the ENA 8.... The Wi-Fi dongle is based on an ESP32, so it is easy to program it yourself. My goal would be to use the Wi-Fi dongle as an interface to make coffee without the app. Maybe another try to reverse engineer the W-Fi firmware.
ralmulle commentedon Mar 26, 2022
Hallo Zusammen,
ich versuche mich auch gerade an dem Serial to Jura Protokoll. Danke erstmal für deine tolle arbeit COM8.
Ich habe da nun das gleiche Problem wie BNoiZe. "TY:" und das auslesen der statisiken funktioniert. Nur das zubereiten von Kaffee will nicht (z.b. FA:04). Ich besitze eine Jura E8 und diese hat 6 Tasten!
Einen Dongle hab ich mir noch nicht zugelegt, da ich alles über einen ESP8266 machen wollte.
@BNoiZe: Könntest Du mit evtl. ein paar Befehle die beim zubereiten von Kaffee von Dongle zur Maschine geschickt werden zur Verfügung stellen? Danke Schön.
COM8 commentedon Mar 27, 2022
Bekommst du ein
ok:als Antwort zurück wenn du z.B.FA:04an deine Maschiene sendest?Alternativ kannst du auch mal einkleines skript schreiben und nacheinander von
FA:00bisFA:FFalle Befehle an die Maschiene senden und schauen was passiert. So bin ich auf die Befehle gekommen.Ja, das mit dem ESP32 habe ich auch schon hinbekommen. Hast du hier auch direkt Kabel an den ESP32 gelötet, oder gibt es da einen bessern Weg? Ich habe zwar die Debug-Pads gesehen, konnte sie aber nicht ordentlich zuordnen.

Als kleiner Spoiler, im Image steht darüber nichts, da hier der Kaffee über eine zweite ebene "obfuscation" geordert wird nachdem der Dogle sich authentifiziert hat: https://github.com/Jutta-Proto/protocol-cpp/blob/main/protocol_snoops/keyexchange.md
===
Do you get an
ok:as response when you send e.g.FA:04to your machine?Alternatively you can write a small script and send all commands from
FA:00toFA:FFto the machine and see what happens. That's how I got the commands.Yes, I have already managed that with the ESP32. Did you solder cables directly to the ESP32, or is there a better way? I did see the debug pads, but couldn't map them properly.
![]()
As a small spoiler, there is nothing about this in the image, as here the coffee is ordered via a second level "obfuscation" after the dogle has authenticated itself:
BNoiZe commentedon Mar 27, 2022
Sobald meine Frau die Steckdose bei der Kaffeemaschine wieder frei gibt kann ich gerne ein paar Kaffees zubereiten. Vielleicht finden wir ja doch irgendwie raus wie man den Kaffee direkt starten kann ohne das Drücken von Tasten zu simulieren.
===
As soon as my wife releases the socket at the coffee machine I can prepare a few coffees. Maybe we can somehow figure out how to start the coffee directly without simulating the pressing of buttons.
BNoiZe commentedon Mar 27, 2022
@COM8 Kann ich tatsächlich aus dem Kopf heraus nicht sagen. Muss ich nochmal austesten ob ein "ok" retour kommt. Soweit ich mich erinnere passiert aber einfach nichts. Auch kein "ok". Ich hab schon eine Befehle als Stichprobe getestet, Kaffee kommt dabei aber keine zustande.
Die Testpads konnte ich zuordnen. Habe den ESP32 über diese auch geflasht.

Wenn im Dongle nochmal eine Obfuscation stattfindet, dann sollte es ja möglich sein auf die Ursprungsbefehle zu schließen? Hast du es geschafft die Firmware vom ESP32 zu reversen?
===
I can not actually tell from memory. I must test again whether an "ok" comes back. As far as I remember nothing happens. No "ok" either. I have already tested random commands, but no coffee.
I was able to assign the test pads. I also flashed the ESP32 using them.
If in the dongle again an obfuscation takes place, then it should be possible to determine the original commands? Did you manage to reverse the firmware of the ESP32?
COM8 commentedon Mar 27, 2022
Problem ist, der Handshake, den ich hier beschreibe findet nur garantiert beim Bluetooth-Dongle statt. Da meine Maschiene auch kein Support für den WiFi-Dongle hat kann ich da nicht wirklich snoopen (klar ich könnte eine dummy-Maschiene bauen indem ich mit einem ESP das simuliere und dann schauen was passiert). Bisher bin ich aber daran gescheitert aus den Daten irgendeinen Sinn zu machen, was danach kommt. Hier ein paar Snoops: https://github.com/Jutta-Proto/protocol-cpp/tree/main/protocol_snoops
Ja, die ESP32-Firmware ist nicht verschlüsselt und kann somit einfach analysiert werden. Das habe ich auch schon bei den ganzen Strings gemacht, die in der Binary zu finden sind (Binwalk). Weiter bin ich aber bisher noch nicht gegangen, da ich gerade daran Arbeite das dumpen zu dokumentieren.
Darf ich dein Bild von der Platine hier verwenden?
Auch die Firmware von Bluetooth-Dongle kann gedumpt werden, da bin ich aber gerade noch dran mich ein zu lesen, da ich mit diesem Microcontroller noch nie gearbeitet habe.
===
Problem is, the handshake I describe here is only guaranteed to happen with the Bluetooth dongle. Since my machine also has no support for the WiFi dongle I can't really snoop there (sure I could build a dummy machine by simulating it with an ESP and then see what happens). But so far I failed to make any sense out of the data what comes after. Here are a few snoops: https://github.com/Jutta-Proto/protocol-cpp/tree/main/protocol_snoops
Yes, the ESP32 firmware is not encrypted, so it can be easily analyzed. I already did that with all the strings that can be found in the binary (Binwalk). But I haven't gone further yet, because I'm working on documenting the dumping.
May I use your picture of the board here?
Also the firmware of the bluetooth dongle can be dumped, but I am still reading up on it, because I have never worked with this microcontroller.
BNoiZe commentedon Mar 27, 2022
Ich vermute mal, dass die Kommunikation zwischen Bluetooth- bzw. WiFi-Dongle und Maschine wohl die gleiche sein wird. Die Snoops sehen bei mir auch so aus, auch mir erschließt sich die Logik dahinter noch nicht.
binwalk hab ich auch schon drüber laufen lassen. Sitze im Moment vor Ghidra und versuche zu verstehen was ich da sehe. Bin mir aber nicht sicher ob der dump den ich habe vollständig ist... Muss sagen, dass ich mich vorher noch nie mit Reverse Engineering beschäftigt habe.
Bild gerne verwenden.
Kann man dich irgendwo anders auch noch antreffen? Discord oder dergleichen?
===
I assume that the communication between the Bluetooth or WiFi dongle and the machine will be the same. The snoops seem the same on my machine, but I also don't understand the logic behind it yet.
I have also run binwalk over it. At the moment I'm sitting in front of Ghidra and trying to understand what I see. But I am not sure if the dump I have is complete... Must say that I have never dealt with reverse engineering before.
Feel free to use image.
Is there anywhere else you can be contacted? Discord or something like that?
BNoiZe commentedon Mar 27, 2022
Five times hot water. Five times a different command sent from the dongle to the machine.
BNoiZe commentedon Mar 28, 2022
@ralmulle https://github.com/BNoiZe/jura-esp32-connect/blob/main/protocol_snoops/connect_and_hot_water.txt
Connecting is like we know it. Looks like all things after T3 are somehow encrypted. As soon as the device disconnects from bluetooth there is now more output from dongle/machine. One thing all messages have in common is the & at the beginning and \r\n as end.
ralmulle commentedon Mar 28, 2022
Thank you for the byte sequences.
If I only send "FA:xx" nothing comes back from the coffee machine. As soon as I perform a key exanche, the coffee machine responds with an undefinable byte message.
I think it's not so easy to decipher the algorithm used by Jura.
I also find it strange that different messages were always sent to the coffee machine to make hot water.
Tomorrow I would do a "FA:xx" Loop from 00 to FF with and without key exanche.
COM8 commentedon Mar 28, 2022
I have a bit of basic knowledge about the tools used for such jobs, but nothing too fancy here.
Sure we could open a chat room on Matrix (@ga87qip:tum.de) or XMPP (com8@xmpp.uwpx.org). I don't have a discord account right now. Do you have a Matrix or XMPP account?
COM8 commentedon Mar 28, 2022
Yes, that's exactly what I've been scratching my head about for almost half a year so far. Does the handshake look the same for you like described here. Especially the
@T2and@t2messages.BNoiZe commentedon Mar 28, 2022
Currently looking into getting an XMPP account or installing Matrix.
The process for the handshake is the same, but the keys and version are different.
15 remaining items
FriedCheese2006 commentedon Aug 13, 2023
I'm trying to resurrect all this. I've done a full packet capture on the network traffic between the app and wifi dongle; hoping it may help shed some light.
#5 (comment)
8818freak commentedon Sep 29, 2023
@COM8
Was meinst Du mit:
"Wenn du einen Bluetooth Dongle hast, sollten die Befehle immer noch darüber funktionieren, da ich hier einfach alles über die "machinefiles" übersetze, die von JURA „veröffentlicht“ werden."
genauer: "machinefiles"?
COM8 commentedon Sep 30, 2023
Wilkommen @8818freak 🎉 !
Wenn man die Android-App Dekompiliert findet man dort die ominösen "machinefiles". Das sind XML-Dateien, die das Interface zur Kaffeemaschiene für den BT-Dongle definieren.
Mehr dazu hier: https://github.com/Jutta-Proto/gtk-ui#machine-files
====
Welcome @8818freak 🎉 !
If you decompile the Android app you will find the ominous "machinefiles". These are XML files that define the interface to the coffee machine for the BT dongle.
More about this here: https://github.com/Jutta-Proto/gtk-ui#machine-files
8818freak commentedon Sep 30, 2023
Ah, ok.
Die SW gab es damals noch nicht.
Irgendwie hatte ich gehofft, Du hättest mit der Serviceanimation "gespielt". Die enthält sehr viel mehr Informationen zu den Maschinen. Mit ihr lassen sich ALLE Jura-Maschinen reparieren, mit neuen Daten versehen und zum Teil auch programmieren.
COM8 commentedon Sep 30, 2023
Oh, ja. Dieses Rabbit Hole bin ich auch schon runter gegangen. Aber ich habe da nichts weiteres herausgefunden, wie den Testmode, wo man alle Buttons etc. testen kann.
8818freak commentedon Sep 30, 2023
Was meinst Du damit?
COM8 commentedon Sep 30, 2023
AN:20setzt die Maschiene in einen Testmode, wo ein Techniker alle Buttons, Schalter etc. testen kann und immer einOK\r\nzurück kommt, sollte etwas erkannt worden sein.Beim bruteforcen von Kommandos bin ich aber auch schon einmal in einem Menü gelandet, wo auf dem Display stand "Programming...". Das konnte ich aber leider nicht mehr reproduzieren.
====
AN:20puts the machine into a test mode, where a technician can test all buttons, switches etc. and always gets anOK\r\nback, if something was detected.When bruteforcing commands, I also ended up in a menu where the display said "Programming...". Unfortunately I could not reproduce this.
8818freak commentedon Sep 30, 2023
Ah, ok. Es gibt auch einen Display- und und einen LED- Test. Aber Einstellungen werden Ausschließlich im Kundenmenü oder mit der Serviceanimation über die serielle Schnittstelle vorgenommen, ebenso das Laden von Updates oder neuen Parametern, beispielsweise für Anpassungen von Heizkurven, Pumpensteuerung, Trester-Mengen, minimale und maximale Mahlwerkslaufzeiten, Vorbrühen ein, aus, Vorbrühdauer, Funktionen der Tasten bei den Profimaschinen, Kolbenhübe je Taste....
RacoJo commentedon Oct 30, 2023
Very strange that on my E6 (2023), none of the FA:XX FN:XX is working. Is it other codes for 2023 machines ?
8de2fdb0 commentedon May 3, 2024
@COM8 could i get access to the hidra repo
see: #2 (comment)
I am trying to figure out the disc encryption.
COM8 commentedon May 4, 2024
@8de2fdb0 sure. Please send a mail to jutta (at) uwpx.org
ljames8 commentedon Nov 23, 2024
Hi,
I’m also interested to have a look at what you guys do to investigate this protocol on your ghidra repo.
Would that be possible to be granted read rights as well ?
COM8 commentedon Nov 24, 2024
@ljames8 sadly I'm currently not giving others access any more. Sadly I don't have time right now to maintain the Ghidra Server
roschme commentedon Apr 15, 2026
Hallo COM8, vielen Dank für Deine Fleißarbeit! Ich würde gern eine WE6 per BT (gtk-ui) ansteuern. Was mir nicht klar ist, an welcher Stelle verweise ich auf das alternative machinefile (oder genügt es alle machinefiles unter: build/_deps/jutta_bt_proto-src/src/resources abzulegen?) Lieben Dank
COM8 commentedon Apr 18, 2026
Hey @roschme.
All you need is to extract all machine files and place them at the defined location. Then the code tries to load the correct file:
https://github.com/Jutta-Proto/protocol-bt-cpp/blob/7dd5a31151cfb522d6c999e1332ee063ae11ee76/src/jutta_bt_proto/CoffeeMakerLoader.cpp#L215
Instructions: https://github.com/Jutta-Proto/protocol-bt-cpp#machine-files