Hast du denn nur den 4 Pro getestet bei Engeneering deiner App? Was MUSST du haben um dein Tool zu testen? Reicht dir nur ein Controller aus? Oder muss es auch zwingend das Display sein? Nur eiine kleine Bescheidene Frage. Ich denke man braucht beides aber es gibt ja auch Controller die BLE direkt verbaut haben im Controller.
Grüße und viele schöne Weihnachtstage an ALLE!
Für die Entwicklung der App habe ich keinen SoC-Dump gemacht.
Das Ganze lief komplett über Reverse Engineering der offiziellen Soflow-App. Ich habe mir mit Ghidra die Dart-Datei vorgenommen und daraus die BLE-Setup- und Kommunikationscodes extrahiert.
Zum Testen meines Tools reicht ein Controller völlig aus.
Display ist nicht zwingend notwendig. Das Display hängt oft nur als Frontend dran.
Nach dem, was ich bisher gesehen habe, ist es so:
Das Display-Modul hat in der Regel sauber aktiviertes ROP
Beim Controller werden oft billige chinesische STM32-Klone verbaut
ROP ist zwar häufig an, aber nicht sauber implementiert und damit unter Umständen umgehbar
Wenn du dich da wirklich rantraust, wäre es mega interessant zu wissen:
was genau du probiert hast
ob ein Dump wirklich funktioniert hat
Denn wenn ein stabiler Controller-Dump möglich ist, steht einer vollwertigen Custom-Firmware im Prinzip nicht mehr viel im Weg.
Es gab wohl schon einen Erfolg:
simcrafterlol hat beim SO4 Pro einen Firmware-Dump gezogen und auch eine Custom-CFW geflasht. Genaue Anleitungen habe ich dazu leider nicht gefunden. Er hatte aber erwähnt, dass die Controller wohl eine CPU-Key-basierte Signierung nutzen; vermutlich muss Firmware korrekt signiert sein, sonst bootet sie nicht.
Ich selbst habe noch keinen Dumpversuch gemacht:
aktuell fehlt mir die Zeit
Equipment wäre da (Logic Analyzer, ST-Link etc.)
Falls du da Erfolg hast, würde ich mir das Thema SO4 definitiv auch nochmal genauer anschauen.
Wichtig noch:
Man muss extrem vorsichtig sein. Es gibt Controller, die sich sofort selbst löschen, wenn man versucht, ROP direkt zu umgehen.
Methoden wie Voltage Glitching existieren zwar, aber das ist nichts, was man "mal eben" probiert; ein Fehler und der Chip ist Schrott.