Aller au contenu
kiwi35

API non officielle :)

Messages recommandés

Hello,

 

Après avoir pesté contre l'appli officielle iRemote qui prends ses 10 heures (ok j'abuse) pour charger les 5 information, je suis tombé sur le blog d'un gars qui a vais une étude de la discussion entre l'appli et les serveurs BMWi3.

 

Dommage que BMW n'ai pas laissé ouvert officiellement leur "hack the drive". Mais ca permet de faire des choses intéressantes comme :

Connection   : CONNECTED
Charge       : FINISHED_FULLY_CHARGED
updateReason : CHARGING_DONE
Dernière utilisation : 5km
Temps d'utilisation  : 9min
Vitesse moyenne      : 33.34km/h
Batterie  : 100%
Km restant: 103km
Essence   : 7.5L (83%) max 9L
Total km  : 3762

 

Attention pour utiliser ce code il faut savoir récupérer les clefs de l'appli iRemote (laissé comme un exercice, mais non je n'aiderais pas là dessus).

 

Tout est sur : https://shkspr.mobi/blog/2015/11/reverse-engineering-the-bmw-i3-api/

Partager ce message


Lien à poster
Partager sur d’autres sites

@ninou:

1) il te faut un langage python sur une machine (linux, os x, sous windows peut-être - mais j'ai pas de windows)

2) il te faut récupérer via

- soit une décompilation de l'app iRemote

- soit via un Man In the Middle de ton choix (pour récupérer le traffic https en clair)

L'entête http : "Authorization: Basic a2V5OnNlY3JldA==" qui est utilisée lors de l'authentification (avec ton mail et mdp)

Après tu remplis ton fichier crédentials.json et tu peux jouer avec le code python.

 

Si tu sais developper en python tu peux y arriver avec le code, mais il faut savoir les choses suivantes :

 

1- l'authentification se fait via un oauth classic + l'header authorization basic ci-dessus

2- une fois que tu as récupéré ton token tu peux browser les json et faire ce qui est décris ci-dessus.

 

Par contre comme toute rétro-ingénierie d'application tu peux avoir des "soucis" :

- ne pas faire le bourrin au niveau des serveurs de bmw sinon tout le monde vas en pâtir

- il y a d'autres subtilité de protection que BMW aurais pu utiliser pour éviter ce genre de choses qui peuvent être mise en place.... (je ne vais pas les citer car j'ai pas envie de donner des idées à BMW).

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon ca fonctionne, non sans mal

 

mais je n'arrive pas à virer les warning suivants:

/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.

SNIMissingWarning

/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

 

Vous avez aussi le problème ?

Partager ce message


Lien à poster
Partager sur d’autres sites

ok merci , je vais voir pour mettre à jour

 

mais je n'arrive pas à faire de post en python (je suis nul dans ce langage) ... je voudrais pouvoir déclencher le chauffage.

Quelqu'un aurait fait un petit bout de code ?

Partager ce message


Lien à poster
Partager sur d’autres sites





×
×
  • Créer...
Automobile Propre

Automobile Propre est un site d'information communautaire qui est dédié à tout ce qui concerne l'automobile et l'environnement. Les thématiques les plus populaires de notre blog auto sont la voiture électrique et les hybrides, mais nous abordons également la voiture GNV / GPL, les auto à l'hydrogène, les apects politiques et environnementaux liés à l'automobile. Les internautes sont invités à réagir aux articles du blog dans les commentaires, mais également dans les différents forums qui sont mis à leur dispositon. Le plus populaire d'entre eux est certainement le forum voiture électrique qui centralise les discussions relatives à l'arrivée de ces nouveaux véhicules. Un lexique centralise les définitions des principaux mots techniques utilisés sur le blog, tandis qu'une base de données des voitures (commercialisées ou non) recense les voitures électriques et hybrides.