patchmanager
est une petite application que j’ai commencé à développer pour appliquer des patchs sur le système Sailfish OS. Cette application a été motivée depuis que j’ai tenté de modifier d’autres applications au sein de l’application contacts (avec friends-integration
).
Le principe de patchmanager
est de pouvoir appliquer des « patchs » sur les fichiers QML des applications intégrées. Les patchs permettent de modifier les fichiers de manière réversible, et sans danger.
Mais une chose résistait jusqu’à présent: le fait de pouvoir modifier l’écran d’accueil, car les fichiers QML sont compilés dans l’application elle-même. Mais, depuis ce post sur TMO, j’ai trouvé quelques petites idées pour pouvoir passer outre. Il m’a fallu modifier un composant open-source (lipstick), pour en extraire les fichiers. Cette version modifiée est même capable de charger les fichiers QML depuis le disque, ce qui permet de les patcher.
Apports possibles
Patcher les fichiers systèmes ouvre d’innombrables possibilités.
- Modifier les applications de base pour avoir plus d’intégration ou de services
- Modifier l’écran d’accueil pour ajouter, ou retirer des fonctionnalités
Hacker un téléphone, et récupérer des mots de passe
Voici quelques exemples en image
Installer les patchs
Avant d’installer les patchs, faites bien attention:
Ni JollaFR, ni l’auteur de cet article (et développeur des applications) n’est responsable des éventuels dommages causés à votre téléphone (brick, pertes de données)
Soyez conscient que cette manipulation peut annuler la garantie éventuelle de votre téléphone.
N’appliquez que les patchs de confiance. patchmanager permet d’appliquer des patchs malveillants, pouvant lire vos mots de passe, verrouiller votre téléphone, et supprimer vos données.
Ne tentez l’expérience que si vous maitrisez la ligne de commande, et savez sauver votre Jolla grâce au recovery.
Ne mettez jamais à jour votre Jolla avec lipstick-pandora installé. Désinstallez le avant (cf fin de l’article)
Pour installer les patchs, il faut d’abord installer patchmanager
et lipstick-qt5
. Le premier paquet est disponible sur OpenRepos, alors que le deuxième n’est disponible que sur mon OBS, pour des raisons de sécurité, telles que les mises à jour systèmes. Pour installer patchmanager, il est conseillé d’utiliser Warehouse, car il y a une série de dépendances à gérer.
Une fois ces paquet installé, vous devez encore vous procurer des paquets contenant les fameux patchs. J’ai mis à disposition deux ensembles de patchs, les stock-patches
, qui sont un ensemble de patchs mineurs (contenant pour l’instant qu’un patch mineur), et pandora-box
.
Les stock patches contiennent une modification du lecteur de vidéos dans la galerie. C’est une modification simple que j’ai réalisé pour avoir une meilleure expérience quand on regarde un film.
Pour appliquer ce patch, lancez patchmanager, et sélectionnez Better video controls
. Si la diode s’allume, alors le patch est appliqué, et vous pouvez essayer la galerie. Pour enlever le patch, sélectionnez Better video controls
de nouveau.
Pour appliquer des patchs à l’écran d’accueil, il faut utiliser patchmanager
pour activer le mode pandora de lipstick. Dans le menu déroulant, sélectionnez Manage lipstick-pandora
. Dans la nouvelle page qui s’ouvre, cliquez sur Perform QML dump.
L’écran d’accueil va redémarrer. Retournez dans la même page, et cliquez maintenant sur Install lipstick-pandora
. L’écran d’accuil redémarre encore, et le mode pandora est actif.
Vous pouvez maintenant appliquer les patchs de pandora-box
. Vous pouvez par exemple activer le mode 5×6 icônes dans le lanceur, le centre de contrôle à la place du panneau d’ambiances de droite, ou encore le « feedback » à la minimisation des applications.
Pour voir les modifications appliquées, il faut redémarrer l’écran d’accueil. Sélectionnez l’entrée Restart lipstick
.
Désinstaller
Avant de désinstaller les paquets sur lesquels les patchs sont appliquées, veuillez vérifier qu’aucun patch n’est appliqué. Décochez tous les patchs depuis patchmanager
. Vous pouvez ensuite désinstaller patchmanager
.
Pour revenir au lipstick original, ouvrez votre terminal, et exécutez (en root)
zypper in -f lipstick-qt5
Si zypper
n’est pas une commande reconnue, exécutez
pkcon install zypper
Sauvetage
Si votre Jolla ne démarre plus, après avoir appliqué un patch pandora, passez en mode recovery, et entrez en chroot sur le Jolla. Puis faites
cd /opt/lipstick-pandora/
rm -rf qml
Cela permet de désactiver le mode pandora, et le Jolla devrait rebooter correctement.