diff --git a/app/src/main/res/raw/changelog.md b/app/src/main/res/raw/changelog.md
index 8236d14b7..9830f238c 100644
--- a/app/src/main/res/raw/changelog.md
+++ b/app/src/main/res/raw/changelog.md
@@ -1,3 +1,3 @@
-# v7.1.2
-- Support patching Samsung AP firmware
-- Much better module downloading mechanism
+# v7.2.0
+- Huge UI overhaul
+- More sweet changes coming in the future!
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 6a133008e..d4670dbde 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -15,7 +15,7 @@
Cercant actualitzacions
Canal d\'actualització invàlid
Comprova l\'estat de SafetyNet
- Comprovant l\'estat de SafetyNet…
+ Comprovant Safetynet…
La comprovació ha sigut exitosa
Error en la API de SafetyNet
La resposta és invàlida
@@ -30,7 +30,7 @@
Desinstal·lar Magisk
Tots els mòduls seran desactivats / eliminats. L\'accés Arrel s\'eliminarà i, possiblement, xifrarà totes les dades si no estan ja xifrades.
Actualització
- (Mode únicament nucli activat)
+ (Mode nucli activat)
(No hi ha informació)
@@ -74,6 +74,18 @@
Actualització de Magisk disponible!
Actualització de Magisk Manager disponible!
+
+ Prem per descarregar i instalar.
+ Descarrega només el ZIP
+ Instal·lació directa (Recomanat)
+ Instal·la a la ranura inactiva (Després d\'una OTA)
+ El teu dispositiu serà FORÇAT a arrancar en l\'actual ranura inactiva després del reinici!\nUtilitza aquesta opció NOMÉS quan l\'OTA s\'hagi fet.\nContinuar?
+ Sel·lecciona mètode
+ Instal·lació addicional
+ Sel·lecciona i arranja un arxiu
+ Sel·lecciona una imatge crua (*.img) o un ODIN tarfile (*.tar)
+ Reinici en 5 segons…
+
Tancar
Instal·lar %1$s
@@ -84,19 +96,16 @@
Notes de llançament
Memòria cau del repositori netejada
El zip està emmagatzemat en:\n[Internal Storage]%1$s
- Prem per descarregar i instal·lar.
+
S\'ha arranjat DTBO
Magisk Manager ha arranjat dtbo.img. Si us plau, reinicia el telèfon.
- Arranjament
+ Arranjament…
+ Fet!
+ Fallit
Amagant Magisk Manager…
L\'amagament de Magisk Manager ha fallat.
No s\'ha trobat una aplicació per obrir l\'enllaç.
- Descarrega només el ZIP
- Instal·lació directa (Recomanat)
- Instal·lar a la ranura inactiva (Després d\'una OTA)
Avís
- El teu dispositiu serà FORÇAT a arrancar en la ranura inactiva després de reiniciar!\nUtilitza aquesta opció només quan s\'hagi fet la OTA.\nContinuar?
- Selecciona mètode
Desinstal·lació completa
Restaura imatges
Restaurant…
@@ -107,7 +116,6 @@
Instal·lació fallida.
Es requereix instal·lació addicional
El teu dispositiu necessita instal·lació addicional per Magisk per funcionar correctament. Es descarregarà el ZIP d\'instal·lació de Magisk , vol procedir a l\'instalació ara?
- Instal·lació addicional
S\'està executant la configuració de l\'entorn…
Descarregant %1$s
Aquesta funció no funcionara si no es té permís per escriure a l\'emmagatzematge.
@@ -133,7 +141,7 @@
Beta
Personalitzat
Inserta una URL personalitzada
- Mode únicament nucli de Magisk
+ Mode nucli de Magisk
Habilitar només les funcions principals, no es carregaran tots els mòduls. MagiskSU y MagiskHide seguirán habilitats
Amagar Magisk de varies deteccions
Systemless Hosts
@@ -161,7 +169,6 @@
Utilitza el sensor d’Empremta Dactilar per permetre les sol·licituds de superusuari
Autenticar Emprempta Digital
-
Mode Multiusuari
Només Administrador del Dispositiu
Administrador del Dispositiu
@@ -210,10 +217,11 @@
Autenticació fallida
+ PID: %1$d
UID de l\’objectiu: %1$d
Ordre: %1$s
- Ensenya apps del sistema
+ Mostra apps del sistema
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index b3b769362..c64b6f684 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -30,7 +30,7 @@
Disinstalla Magisk
Tutti i moduli verranno disabilitati/rimossi. Il root verrà rimosso e i tuoi dati potrebbero essere criptati, nel caso non lo siano già.
Aggiorna
- (Modalità solo-core abilitata)
+ (Modalità solo Core abilitata)
(Nessuna informazione)
@@ -74,6 +74,18 @@
È disponibile un aggiornamento di Magisk!
È disponibile un aggiornamento di Magisk Manager!
+
+ Apri questa notifica per scaricare e installare.
+ Scarica solo il file zip
+ Installazione diretta (raccomandata)
+ Installa nello slot inattivo (dopo un OTA)
+ Questo dispositivo verrà FORZATO ad avviarsi usando lo slot inattivo!\nUsa questo metodo solo dopo che un OTA è stato installato.\nVuoi continuare?
+ Seleziona un metodo
+ Configurazione aggiuntiva
+ Seleziona e aggiorna un file
+ Seleziona un\'immagine in formato .img o un file ODIN .tar
+ Riavvio fra 5 secondi…
+
Chiudi
Installazione di %1$s
@@ -84,30 +96,26 @@
Note di rilascio
La cache delle repository è stata svuotata
Il file zip si trova in:\n[Memoria Interna]%1$s
- Premere per scaricare e installare.
+
DTBO è stato aggiornato!
Magisk Manager ha aggiornato dtbo.img. Riavvia per completare.
Flash in corso…
+ Completato!
+ Fallito
Nascondendo Magisk Manager…
Non è stato possibile nascondere Magisk Manager.
Nessuna app disponibile per aprire il link.
- Scarica solo il file zip
- Installazione diretta (raccomandata)
- Installa nello slot inattivo (dopo un OTA)
Attenzione
- Questo dispositivo verrà FORZATO ad avviarsi usando lo slot inattivo!\nUsa questo metodo solo dopo che un OTA è stato installato.\nVuoi continuare?
- Seleziona un metodo
- Disinstallazione completa
+ Disinstallazione completa
Ripristina Immagini
Ripristino…
Ripristino completato!
Non esiste un\'immagine originale di boot!
Scarica codice proprietario
Magisk Manager è FOSS e non contiene codice proprietario delle API Google SafetyNet.\n\nVuoi scaricare un\'estensione (contenente GoogleApiClient) per controllare lo stato di SafetyNet?
- Configurazione fallita.
- Richiedi configurazione aggiuntiva
+ Configurazione fallita.
+ Configurazione aggiuntiva richiesta
Il tuo dispositivo necessita di una configurazione aggiuntiva per far funzionare Magisk correttamente. Verrà scaricato il file zip di Magisk, vuoi procedere ora?
- Configurazione aggiuntiva
Configurazione dell\'ambiente in corso…
Download di %1$s
Questa funzione non sarà attiva senza l\'autorizzazione di scrittura nella memoria di archiviazione.
@@ -117,7 +125,7 @@
Generale
Tema scuro
Abilita il tema scuro.
- Svuota cache repository
+ Svuota cache repository
Svuota la cache delle repository. Questa opzione forza l\'aggiornamento online dell\'app.
Nascondi Magisk Manager
Reinstalla Magisk Manager con un nome pacchetto casuale.
@@ -133,7 +141,7 @@
Beta
Personalizzato
Inserisci un URL personalizzato
- Modalità Magisk Core
+ Modalità Magisk Core
Abilita solo le funzioni principali. Nessun modulo verrà caricato. MagiskSU e MagiskHide rimarranno abilitati
Nasconde Magisk da numerose rilevazioni.
Host systemless
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index a9e573d49..e59483a3b 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -98,7 +98,9 @@
DTBO가 패치되었습니다!
Magisk Manager가 dtbo.img를 패치했습니다. 기기를 다시 시작해 주시기 바랍니다.
- 플래싱 중
+ 플래싱 중...
+ 완료!
+ 실패
Magisk Manager를 숨기는 중…
Magisk Manager를 숨기는 데 실패하였습니다.
링크를 열 앱이 없습니다.
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 31055c9d5..5eed065f2 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -94,11 +94,13 @@
Repornește
Repornește pentru a aplica setările.
Note privind versiunea
- Cache-ul depozitului golit
+ Cache-ul depozitelor golit
Zip-ul este stocat în:\n[Stocare internă]%1$s
DTBO a fost patchuit!
Magisk Manager a patchuit dtbo.img. Te rugăm să repornești.
- Se procesează
+ Procesare în curs…
+ Terminat!
+ Eșec
Se ascunde Magisk Manager…
Ascunderea Magisk Manager a eșuat.
Nu a fost găsită nicio aplicație pentru a deschide linkul.
@@ -115,7 +117,7 @@
Dispozitivul tău are nevoie de configurări suplimentare pentru ca Magisk să funcționeze corect. Se va descărca zip-ul de configurare Magisk, vrei să continui acum?
Rulează configurarea mediului…
Se descarcă %1$s
- Această caracteristică nu va funcționa fără permisiunea de a scrie în stocarea externă.
+ Această funcție nu va funcționa fără permisiunea de a scrie în stocarea externă.
Descarcă câte un modul odată.
@@ -139,7 +141,7 @@
Personalizat
Inserează un URL personalizat
Mod numai de bază pentru Magisk
- Activează numai caracteristicile de bază. MagiskSU și MagiskHide vor fi în continuare activate, însă niciun modul nu va fi încărcat.
+ Activează numai funcțiile de bază. MagiskSU și MagiskHide vor fi în continuare activate, însă niciun modul nu va fi încărcat.
Ascunde Magisk de diferite forme de detectare.
Systemless hosts
Suport systemless hosts pentru aplicațiile adblock.
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 2313e72f9..d077f5d1d 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -100,6 +100,8 @@
DTBO пропатчен!
Magisk Manager пропатчил dtbo.img. Перезагрузите устройство.
Прошивка
+ Завершено!
+ Ошибка
Маскировка Magisk Manager…
Не удалось замаскировать Magisk Manager
Не найдено приложений для открытия ссылки.
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 317058c7d..85b20dcad 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -215,5 +215,10 @@
顯示系統應用程式
+ 完成!
+ 失敗
+ 選擇一個 image (*.img) 或是 ODIN tarfile (*.tar)
+ 5 秒鐘之後將會重新啟動…
+ 選擇並對檔案進行補丁
diff --git a/build.gradle b/build.gradle
index ead6ba1b2..12c35b6ec 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@ buildscript {
maven { url 'https://kotlin.bintray.com/kotlinx' }
}
dependencies {
- classpath 'com.android.tools:r8:1.4.93'
+ classpath 'com.android.tools:r8:1.4.96'
classpath 'com.android.tools.build:gradle:3.5.0-beta01'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.31"
diff --git a/build.py b/build.py
index 5fee4a0b1..e74b84a70 100755
--- a/build.py
+++ b/build.py
@@ -422,7 +422,6 @@ def build_all(args):
build_binary(args)
zip_main(args)
zip_uninstaller(args)
- build_snet(args)
parser = argparse.ArgumentParser(description='Magisk build script')
diff --git a/native/jni/magiskboot/bootimg.cpp b/native/jni/magiskboot/bootimg.cpp
index 53c58d904..f46f1b32c 100644
--- a/native/jni/magiskboot/bootimg.cpp
+++ b/native/jni/magiskboot/bootimg.cpp
@@ -109,14 +109,17 @@ int boot_img::parse_image(uint8_t *head) {
hdr.set_hdr(new boot_img_hdr_pxa());
memcpy(*hdr, head, sizeof(boot_img_hdr_pxa));
} else {
- if (memcmp(hp->cmdline, NOOKHD_MAGIC, 12) == 0 ||
- memcmp(hp->cmdline, NOOKHD_NEW_MAGIC, 26) == 0) {
+ if (memcmp(hp->cmdline, NOOKHD_RL_MAGIC, 10) == 0 ||
+ memcmp(hp->cmdline, NOOKHD_GL_MAGIC, 12) == 0 ||
+ memcmp(hp->cmdline, NOOKHD_GR_MAGIC, 14) == 0 ||
+ memcmp(hp->cmdline, NOOKHD_EB_MAGIC, 26) == 0 ||
+ memcmp(hp->cmdline, NOOKHD_ER_MAGIC, 30) == 0) {
flags |= NOOKHD_FLAG;
- fprintf(stderr, "NOOKHD_GREEN_LOADER\n");
+ fprintf(stderr, "NOOKHD_LOADER\n");
head += NOOKHD_PRE_HEADER_SZ;
} else if (memcmp(hp->name, ACCLAIM_MAGIC, 10) == 0) {
flags |= ACCLAIM_FLAG;
- fprintf(stderr, "ACCLAIM_BAUWKSBOOT\n");
+ fprintf(stderr, "ACCLAIM_LOADER\n");
head += ACCLAIM_PRE_HEADER_SZ;
}
hdr.set_hdr(new boot_img_hdr());
diff --git a/native/jni/magiskboot/format.h b/native/jni/magiskboot/format.h
index b84c4173d..1d53ddb13 100644
--- a/native/jni/magiskboot/format.h
+++ b/native/jni/magiskboot/format.h
@@ -45,8 +45,11 @@ typedef enum {
#define DHTB_MAGIC "\x44\x48\x54\x42\x01\x00\x00\x00"
#define SEANDROID_MAGIC "SEANDROIDENFORCE"
#define TEGRABLOB_MAGIC "-SIGNED-BY-SIGNBLOB-"
-#define NOOKHD_MAGIC "Green Loader"
-#define NOOKHD_NEW_MAGIC "eMMC boot.img+secondloader"
+#define NOOKHD_RL_MAGIC "Red Loader"
+#define NOOKHD_GL_MAGIC "Green Loader"
+#define NOOKHD_GR_MAGIC "Green Recovery"
+#define NOOKHD_EB_MAGIC "eMMC boot.img+secondloader"
+#define NOOKHD_ER_MAGIC "eMMC recovery.img+secondloader"
#define NOOKHD_PRE_HEADER_SZ 1048576
#define ACCLAIM_MAGIC "BauwksBoot"
#define ACCLAIM_PRE_HEADER_SZ 262144
diff --git a/signing/src/main/java/com/topjohnwu/signing/SignAPK.java b/signing/src/main/java/com/topjohnwu/signing/SignAPK.java
index f218f0a48..f965fdfa8 100644
--- a/signing/src/main/java/com/topjohnwu/signing/SignAPK.java
+++ b/signing/src/main/java/com/topjohnwu/signing/SignAPK.java
@@ -33,8 +33,6 @@ import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.MessageDigest;
import java.security.PrivateKey;
-import java.security.Provider;
-import java.security.Security;
import java.security.cert.CertificateEncodingException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
@@ -59,7 +57,6 @@ public class SignAPK {
private static final String CERT_SF_NAME = "META-INF/CERT.SF";
private static final String CERT_SIG_NAME = "META-INF/CERT.%s";
- private static Provider sBouncyCastleProvider = Security.getProvider("BC");
// bitmasks for which hash algorithms we need the manifest to include.
private static final int USE_SHA1 = 1;
private static final int USE_SHA256 = 2;
@@ -140,8 +137,7 @@ public class SignAPK {
*/
private static int getDigestAlgorithm(X509Certificate cert) {
String sigAlg = cert.getSigAlgName().toUpperCase(Locale.US);
- if ("SHA1WITHRSA".equals(sigAlg) ||
- "MD5WITHRSA".equals(sigAlg)) { // see "HISTORICAL NOTE" above.
+ if (sigAlg.startsWith("SHA1WITHRSA") || sigAlg.startsWith("MD5WITHRSA")) {
return USE_SHA1;
} else if (sigAlg.startsWith("SHA256WITH")) {
return USE_SHA256;
@@ -309,13 +305,10 @@ public class SignAPK {
JcaCertStore certs = new JcaCertStore(certList);
CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
ContentSigner signer = new JcaContentSignerBuilder(getSignatureAlgorithm(publicKey))
- .setProvider(sBouncyCastleProvider)
.build(privateKey);
gen.addSignerInfoGenerator(
new JcaSignerInfoGeneratorBuilder(
- new JcaDigestCalculatorProviderBuilder()
- .setProvider(sBouncyCastleProvider)
- .build())
+ new JcaDigestCalculatorProviderBuilder().build())
.setDirectSignature(true)
.build(signer, publicKey));
gen.addCertificates(certs);
diff --git a/stub/src/main/res/values-ca/strings.xml b/stub/src/main/res/values-ca/strings.xml
new file mode 100644
index 000000000..80b7c163a
--- /dev/null
+++ b/stub/src/main/res/values-ca/strings.xml
@@ -0,0 +1,4 @@
+
+ Fes una actualització total de Magisk Manager per finalitzar l\'instalació. Descarregar i instalar?
+ Si us plau, connecta\'t a internet! Es necessari fer una actualització total de Magisk Manager.
+