Samsung Apps Patcher für Samsung-Handys mit benutzerdefinierten ROMs
Erst komplett lesen .......
Dies ist eine Anleitung zum Patchen von Galaxy Wearable Apps,
damit sie auf einem modifizierten Samsung Telefon funktionieren. Dies wurde ursprünglich von einem xda Beitrag von dansimko genommen, aber ich wollte es ein wenig einfacher zu folgen machen. Inzwischen habe ich den Prozess in Skripte umgesetzt, die Patches auf dem neuesten Stand gehalten und neue Patches hinzugefügt. Die Skripte sind für Linux in Bash geschrieben, wenn hier also etwas anderes verwendet, könnt hier die alte (manuelle) Anleitung unter verwenden.
wichtiger Hinweis
Da ich kein Samsung-Handy und kein Samsung-Zubehör mehr besitze, werde ich dieses Projekt nicht mehr betreuen.
Vorgepatchte Anwendungen herunterladen
Die vorgepatchten Apks finden hier auf der Projekt-Website:
Die Plattform-Tools zip befinden sich im MEGA-Laufwerk, falls Hier sie zum Patchen euer eigenen Anwendungen benötigt:
https://mega.nz/folder/sUFj2C5b#M4zEP-c9ylY-ENxPw7qCUQ
App-Unterstützung
Dies sind die Apps, die wahrscheinlich funktionieren (bitte überprüft die Projekt-Website (englisch) für Kompatibilitätsbewertungen) zusammen mit einem Link zu apkmirror, wo Hier eine ungepatchte apk herunterladen könnt. Bitte beachtet, dass ich die meisten der Plugins nicht testen kann, da ich die Geräte nicht selbst besitze und meine Galaxy Watch nicht mehr regelmäßig benutze.
Kern
- accessoryservice.apk | Samsung Accessory Service
- shealth.apk | Samsung Health
- wearable.apk | Galaxy Wearable
Watch plugins
- watchplugin.apk | Galaxy Watch Plugin
- watch3plugin.apk | Galaxy Watch3 Plugin
- watch4plugin.apk | Galaxy Watch4 Plugin
- activeplugin.apk | Watch Active Plugin
- active2plugin.apk | Watch Active2 Plugin
- gearfit2plugin.apk | Gear Fit2 Plugin
- gearsportplugin.apk | Gear S Plugin
8.Andere Uhren: Uhren-Plugins, die in Samsung Health integriert sind, verifizieren ihr Zertifikat, so dass sie ohne ein spezielles benutzerdefiniertes Zertifikatspatch nicht funktionieren (weiter unten finden ihr einen Abschnitt darüber, wie ihr das Patch selbst erstellen könnt).
Andere Plugins
- budsplugin.apk | Galaxy Buds Manager
- budsproplugin.apk | Galaxy Buds Pro Manager
- buds2plugin.apk | Galaxy Buds2 Manager
- budsplusplugin.apk | Galaxy Buds+ Manager
- budsliveplugin.apk | Galaxy Buds Live Manager
6. Andere Plugins: Diese werden höchstwahrscheinlich funktionieren, ohne dass angepasste Patches erforderlich sind. Führt einfach die apk durch ./wearable-patcher.sh.
Wie man die Skripte verwendet
- Vergewissert euch zunächst, dass euer System die Anforderungen (siehe unten) erfüllt.
- Ladet die ungepatchten Apks der drei Hauptanwendungen und alle Plugins, die ihr benötigt, herunter. ihr findet die Links im Abschnitt App-Support. Speichert diese in den Ordner SamsungAppsPatcher/originals. Es steht euch frei, die Dummy-Apks zuerst zu löschen, da sie nur dazu da sind, um sicherzustellen, dass eure heruntergeladenen Apks richtig benennt.
- Öffnet ein Terminal im Ordner SamsungAppsPatcher. Run
./wearable-patcher.sh
um automatisch alle Anwendungen aus dem Ordner SamsungAppsPatcher/originals zu patchen.- Nebenbei bemerkt:hier könnt auch eine bestimmte Anwendung wie folgt patchen: ./wearable-patcher.sh shealth.
- Installiert die gepatchten Apks! ihr könnt dies mit dem Skript ./wearable-installer.sh tun, um sie im Stapel zu installieren, oder sie einfach regelmäßig installieren. Allerdings müsst ihr die alten (von Samsung signierten) Apps deinstallieren, bevor ihr die modifizierten Apps mit einer benutzerdefinierten Signatur verwenden könnt: ./wearable-wipe.sh (nicht erforderlich, wenn ihr die modifizierten Apps bereits installiert habt).
Anforderungen
- Installiert apktool. Die offizielle Anleitung findet ihr hier. (englisch) Wenn du wie ich mit Pop OS arbeitest, ist das apktool, das du über apt installierst, veraltet (du brauchst mindestens 2.6.0), also stellt sicher, dass ihr die Anweisungen folgst.
- Wenn ihr meinen Keystore nicht verwenden möchten, installiert Android Studio. Ihr könnt auch einen Keystore ohne Android Studio generieren und ich habe eine Anleitung dafür später verlinkt. Ich empfehle euch, den bereitgestellten Keystore zu verwenden, damit Sie zwischen eueren gepatchten Apps und meinen aktualisieren könnt, ohne Daten zu verlieren.
- Installiert die neueste Version von platform-tools.
- Hier könnt platform-tools und build-tools über Android Studio installieren. Bei mir befinden sie sich unter ~/Android/Sdk/platform-tools/ bzw. ~/Android/Sdk/build-tools/31.0.0/. hier solltet diese zu eurem PATH hinzufügen, z.B. fügt folgendes zu euer ~/.bashrc hinzu...
- Wenn das für euch nicht funktioniert, habe ich einen kombinierten Plattform- und Build-Tools-Ordner in das MEGA-Laufwerk gezippt. Dieser wird nicht regelmäßig aktualisiert, daher empfehle ich dringend die obige Methode. Entpackt diesen in einen Ordner wie ~/platform-tools und fügt ihn zum Pfad hinzu, z.B. fügt folgendes zu euer ~/.bashrc hinzu...
- Führt den Befehl source ~/.bashrc aus, um euren Pfad in eurem aktuellen Terminal zu aktualisieren.
7. Dieses Repo irgendwo klonen/herunterladen.
Erzeugen eines Zertifikats (nicht erforderlich)
- Wenn ihr nicht Android Studio verwendet, folgt hier ( englisch) um einen Schlüsselspeicher zu erzeugen. Ansonsten geht wie folgt vor...
- Öffnet Android Studio und wählt in der Symbolleiste Build > Generate Signed Bundle / APK... (möglicherweise müsst ihr zuerst ein leeres Projekt erstellen).
- Wählt APK/whatever, dann wählt Neu erstellen für den Schlüsselspeicher.
- Wählt einen Schlüsselspeicherpfad für euren neuen Keystore. Ich werde ihn als SamsungAppsPatcher/keystore.jks speichern.
- Wählt ein Passwort für den Schlüsselspeicher (z.B. password1) und ein Passwort für den Schlüssel (z.B. password2). Diese Passwörter können identisch sein, wenn ihr möchtet.
- Füllt den Rest des Formulars aus und klickt auf OK.
- Erstellt eine Passwortdatei: Erstellt euch eine Datei unter SamsungAppsPatcher/ks-pass.txt und gebt in die erste Zeile euer Keystore-Passwort und in die zweite Zeile euer Schlüsselpasswort ein.
Holt euch das Hex für euer Zertifikat: Öffnet ein Terminal im SamsungAppsPatcher-Ordner und gebt keytool -alias key0 -exportcert -keystore keystore.jks -storepass password1 | xxd -p ein und ersetzt das password1 durch euer eigenes. Entfernt nun die Leerzeichen/Zeilenumbrüche aus der Ausgabe dieses Befehls und haltet ihn bereit. ihr müsst jede Patchdatei öffnen und dort, wo die vorhandene Signatur hinzugefügt wurde, diese durch eure ersetzen. Achtet darauf, dass die Signatur nur in Zeilen ersetzen, die mit einem + beginnen.
Wie man ein neues Watch-Plugin patcht
- Lade die apk der Anwendung, die ihr patchen möchten, in den Originalordner herunter (benennt sie der Einfachheit halber in etwas Einfaches wie active2plugin.apk um).
- Führt das Skript wearable-patcher.sh mit der apk aus, die ihr zuvor heruntergeladen habt, aber mit der Option --no-patch: ./wearable-patcher.sh active2plugin.apk --no-patch. ihr solltet nun die dekompilierte Anwendung im Ordner decompiled haben. Wechselt mit dem Terminal in diesen Ordner: z.B. cd decompiled/active2plugin/
- Erstellt ein lokales Git-Repository. So könnt ihr später leicht eine Patch-Datei erstellen.
4. Öffnet den App-Ordner in einem Programm wie Atom oder Sublime Text: atom ... ihr könnt euch andere Patches im Patches-Ordner ansehen; für das Watchplugin (Original-Galaxy Watch) müsst hier beispielsweise die Datei smali_classes2/com/samsung/accessory/goproviders/shealthproviders/util/Signaturechecker.smali patchen. Im Wesentlichen geht es darum, die Signatur des bereitgestellten Schlüsselspeichers (siehe unten) in die Liste der gültigen Signaturen aufzunehmen. Ihr könnt damit beginnen, die dekompilierte Anwendung nach Landroid/content/pm/Signature zu durchsuchen, um potenziell relevante Codebereiche zu finden.
308202ef308201d7a003020102020414698683300d06092a864886f70d01010b05003028312630240603550403131d53616d73756e6750617463682050617463684365727469666963617465301e170d3231303830323139303032345a170d3436303732373139303032345a3028312630240603550403131d53616d73756e675061746368205061746368436572746966696361746530820122300d06092a864886f70d01010105000382010f003082010a0282010100e7305c88fe815cad51ee59c6d424833dcef3ebcca98a64d43f5e7fce0225dc7131625fb0d07858b64c7a8da6a7c38a6361f3d8a8ef057e2d533c2e35132c5ca1452ef0b3e7b987ff34afc483626f1a8c89f76be9fd4e85c676040906b8601c3bdf01e373c156fbeb94159b0e7cc66c68d6a1900811f0d8d80328bb5807876d7d5f0f9768c0f98e66ebab0aa0f8966f11092d35130f375c06f7ca0d1d5abc2ed4c9eea664349f06e80ed09e4ac214bb61f085848b1733846b1eb771f1b41163e0babc4510392cb15f4f454a4b91bf1a07267e34d7daaa9da811d4c082fccd4ddc028cda3733a85991f7c9c218b14d03cedaa73599a8d8d033a4bfab44dc377cef0203010001a321301f301d0603551d0e0416041439f1b24007584379561b2d19af849f71da60d2dc300d06092a864886f70d01010b050003820101008315f6c17aa4eb4620da01163133265d1b4e8cf0788acaa19cb54c7f8e0fcd683e4aa9da7132db2804fa9feef2d0809a258058aaf75386c53577a12fa9656a6d5a6812aace735196452e51c6a4cdc4a83b5227361e7b1710f1023235206637371974cb95d009777559d05c8af510f80d4d527904039810fd8f887e3a39039bfe62f97d63d9f20df09c2df8d2b2a6e18d4790d38edb61d0685f534333189d938e36c07d6cfe5c67e2df92dabd5c33e57a40885ac8f79ba93223d4917f850b5bdf4cc79a6a73dcca34982efe71a25b5ae12c7dc142b6c62d637b8b061155eb40381be335a7bc159443993ca73fd80e79a4177fc62455fedef6e4c6e405a7f5fb61
5. Wenn ihr fertig seit, konvertiert die vorgenommenen Änderungen in eine .patch-Datei.
6. ihr erhaltet dann eine Patch-Datei mit dem Namen 0001-custom-cert.patch. Benennt diese so um, dass sie mit dem apk-Namen beginnt: z. B. active2plugin-custom-cert.patch, und verschiebt sie in den Ordner "patches".
mv 0001-custom-cert.patch ../../patches/active2plugin-custom-cert.patch
cd ../../ # move back to the PatchedApps folder
7. Führe das Skript wearable-patcher.sh erneut aus, allerdings ohne die Option --no-patch. Dann könnt ihr die gepatchte Anwendung aus dem gepatchten Ordner installieren.
8. Wenn euer Patch funktioniert, könnt ihr gerne zum Projekt beitragen. Geht auf die Registerkarte Probleme und erstellt ein neues Problem mit euren .patch-Datei im Anhang. (oder macht eine Pull-Anfrage
Jeder ist für seine Handlungen selbst verantwortlich. Weder das Team Los-Legacy, noch Ich der Ersteller des Beitrages, übernehmen die Haftung für Schäden oder Garantieverlust an euren Geräten, die durch nutzen unserer Anleitungen entstehen.
Ich hoffe ich habe nicht vergessen .....
übersetzt mit https://www.deepl.com/translator
Original github post findet ihr hier .
und nun viel Spaß .