J'ai récemment perdu le mot de passe d'un service web que j'utilise par le biais d'un addon de Kodi. Je sais, c'est pas très malin, j'ai malencontreusement écrasé ma base de mots de passe au mauvais moment. Shit happens, comme ils disent dans la langue de Shakespeare.

Comme c'est casse-pied de retaper un nouveau mot de passe via un clavier virtuel et une télécommande, je me suis demandé si le mot de passe était stocké en clair dans la configuration de l'addon. On sait jamais, sur un malentendu, ça pourrait marcher. J'ai donc commencé à fouiller dans l'arborescence de Kodi, et j'ai pu voir que celui-ci stocke ses informations dans ~/.kodi. On y trouve alors un répertoire addons, qui contient un répertoire par addon, ainsi qu'un répertoire packages, qui contient des archives des addons téléchargés. Il est intéressant de regarder le code source des addons, car c'est dans celui-ci que j'ai compris qu'il stockait bien le nom d'utilisateur et le mot de passe.

Au même niveau que le répertoire addons, se trouve un répertoire nommé userdata. Celui-ci contient un répertoire addon_data, dans lequel il y a un répertoire par addon. L'addon dont je souhaitais voir la configuration y a laissé un répertoire à son nom, contenant un fichier de paramètres ainsi qu'un répertoire temporaire. Un petit "cat" sur le fichier de paramètres dévoile donc le Graal :

<settings>
    <setting id="OSpass" value="motdepasseenclair" />
    <setting id="OSuser" value="utilisateur" />
</settings>

En résumé, les paramètres d'un addon Kodi se trouvent dans ~/.kodi/userdata/addon_data/nomdeladdon/, dans un fichier nommé settings.xml. Le code source se trouve quant à lui dans ~/.kodi/addons/nomdeladdon/.

Comme quoi, j'ai vraiment raison de ne vouloir utiliser qu'un unique trio e-mail/utilisateur/mot de passe sur certains sites ou certaines applications.