Smart #1 API / Smart Home Integration

  • Ich habe mich mal mit einem Proxy zwischen die iOS App gehängt und geschaut, welche api calls gemacht werden und was zurück kommt.

    Interessant... woher nimmt man denn die User-ID ??


    Tante Edit sagt: hat sich erledigt, hast Du ja schon beantwortet ;)

    #1 Premium in Laser Red - Eclipse Black, Smart OS v1.5.0 / 20.33.10.24174.43442

    Navi-SW 0.05.12.15.24.32.4b.10 Navi-DB N.J.A2.24.00.01.00 Hidden Features des Smart #1 - klick / Smart #1 FAQ-Thread -> klick

  • Schade, da hat es jemand ernst gemeint. Sieht aber finde ich gut aus, überträgt viele Daten. Ist finde ich eine gute Basis für eine tolle App am Ende. Habe eine Referenz zur Lenkradheizung gesehen, aber leider nix zur Sitzbelüftung. Und Punkte zur AHK sind vorhanden, ein Hinweis das da smart früh in der Entwicklung bereits dran gedacht hat die sauber in die Bordsysteme zu integrieren. Sehr gut.


    marco79cgn hatte mich schon gefragt wer zuerst auf die Idee kommt die API der App auszuschnüffeln. Warst du wohl schneller, sonst hätte ich es nächste Woche gemacht wenn ich meinen Brabus endlich habe ^^ Hast du schon versucht die .apk der App zu entpacken? Und könntest du mal den call und die response bei Login in der App loggen? Ob da bei der response evtl. für die späteren calls etwas mitgeschickt wird, denke da an einen secret zum Verschlüsseln der Session-bezogen ist.

    #1 Brabus bestellt 07.02.23 in Meta Black Metallic mit rotem Dach, Lieferdatum 21.04.23, Übergabe 12.05.23

  • Seid ihr alle Informatiker oder was? Ihr redet so locker daher, als würde jeder da draußen verstehen um was es hier geht😳😂.

    Kann man das Ganze in Deutsch für Laien zusammenfassen?

    Wenn die Untersuchungen zu Ergebnissen führen, wird es sicherlich auch Zusammenfassungen in Umgangssprache geben :) - das was gerade passiert ist "bis zum Ellenbogen im Motoröl"

  • Seid ihr alle Informatiker oder was?

    Ja, bin ich. :P

    Zitat

    Kann man das Ganze in Deutsch für Laien zusammenfassen?

    Ich versuche es:


    Die relevanten Daten, die man haben möchte, liegen „in der Cloud“ und man kann über http-Anfragen darauf zugreifen. Das macht zum Beispiel die App. Allerdings werden Anfragen nur beantwortet, wenn man zum einen angemeldet ist und zusätzlich jede einzelne Anfrage mit einer Prüfsumme versehen ist, die mithilfe eines geheimen Schlüssels berechnet wurde. Ansonsten antwortet der Server in der Cloud lediglich mit „Du kommst hier net rein!“.


    So funktioniert vereinfacht die moderne Kommunikation im Web, auch zwischen deinem Browser und der Gegenstelle. Beim Bestellprozess war das einfacher, da war nicht jede Anfrage nochmal zusätzlich mit einer Signatur versehen, sondern es reichte aus zu beweisen, dass man angemeldet ist.


    War das jetzt verständlicher?

  • marco79cgn Hast du schon versucht die .apk der App zu entpacken? Und könntest du mal den call und die response bei Login in der App loggen? Ob da bei der response evtl. für die späteren calls etwas mitgeschickt wird, denke da an einen secret zum Verschlüsseln der Session-bezogen ist.

    Ich habe mir alles bereits mehrfach angeschaut, aber bisher nichts gefunden, eventuell nur eine heiße Spur.


    Wie man sich anmeldet habe ich nachvollzogen und wie man den Authorization Token für den Header bekommt und refresht (nach Ablauf) weiß ich auch.


    Der Algorithmus der Signatur ist halt auch nicht klar, da muss man probieren. Des weiteren weiß ich nicht, was genau alles zur Payload gehört für die Checksummenberechnung. Nur Timestamp und Nonce? Oder der gesamte URL String auch? Und/oder der gesamte Body?


    Die App habe ich mal entpackt, da steht u.a. der Api Key in einer plist. Aber den kannte ich ohnehin schon.


    Vielleicht könnten sich ein paar Leute zusammen tun?