1 votes

Comment supprimer des fichiers sur un téléphone à faible mémoire qui ne démarre pas ?

Depuis un certain temps, j'ignorais que la mémoire de mon téléphone Android (Nexus 6P sous copperhead OS) était faible.

Le système d'exploitation s'est soudainement effondré et a commencé à démarrer à l'infini. Après l'avoir forcé à redémarrer et avoir saisi le mot de passe pour le décryptage, le téléphone ne termine jamais la procédure de démarrage. Il semble qu'en raison de l'absence d'espace ou d'un espace très réduit, une erreur doit se produire, ce qui empêche le système d'exploitation de terminer la procédure de démarrage.

Je suppose qu'un manque de mémoire pourrait être à l'origine du problème. J'essaie donc de trouver un moyen de supprimer des fichiers et de laisser de l'espace au système d'exploitation pour qu'il puisse démarrer.

(1) Le chargeur de démarrage est verrouillé. Je vois "Device is LOCKED." sur l'écran du bootloader. Donc, impossible de démarrer la dernière version de TWRP via fastboot boot twrp.img . Erreur de réception FAILED (remote: unlock device to use this command)

(2) L'option ADB sideload disponible dans copperhead OS recovery n'autorise aucun update.zip aléatoire. J'ai essayé d'exécuter un script de mise à jour mais il échoue. Il semble que la récupération valide le paquet. Les erreurs sont E: footer is wrong , E: Signature verification failed , E:error: 21 Installation aborted

(3) J'ai essayé de trouver des vulnérabilités permettant de contourner les dispositifs de sécurité, mais je n'en ai trouvé aucune, à l'exception des suivantes cette qui a été corrigé dans le bootloader angler-03.79 utilisé.

(4) Le téléphone utilise un ancien système d'exploitation Android : 8.1.0 June 2018 AOSP build, et depuis lors, des vulnérabilités de sécurité pourraient être introduites. Y a-t-il donc des vulnérabilités ou des exploits qui peuvent être utiles ici ?

0voto

alecxs Points 3105

Vous pouvez demander aux développeurs OEM s'ils peuvent vous aider à trouver une solution officielle. Le problème est que le support de premier niveau refusera toujours de telles demandes. Vous pouvez demander le code source à la place (conformément à la GPL) et, si vous avez de la chance, vous obtiendrez un contact direct (adresse électronique) avec n'importe quel développeur de cette manière.

L'OEM pourrait facilement fournir un fichier emergency-update.zip (signé) contenant les fichiers suivants

META-INF/com/google/Android/updater-script

ifelse(is_mounted("/data"), ui_print("deleting cache files..."), abort("ERROR: Data not mounted"));
package_extract_dir("tmp", "/tmp");
set_perm_recursive(0, 2000, 0755, 0755, "/tmp");
run_program("/tmp/rmcache.sh");
ui_print("done");

tmp/rmcache.sh

#!/bin/sh
/tmp/busybox find /data/data -type d -iname cache -exec /tmp/busybox find {} -type f -print -delete +

tmp/busybox

utiliser le binaire busybox (défaut de segmentation toybox) :
www.busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl

cela permettrait de libérer de l'espace de stockage en supprimant uniquement certains fichiers de cache sans importance. de cette façon, cela n'endommagera pas l'appareil et ne créera pas de vulnérabilité pour des exploits.

ce fichier emergency-update.zip peut être appliqué via l'option "Appliquer la mise à jour depuis la carte SD" du menu de récupération

Après cela, vous devriez être en mesure de démarrer au moins une fois et d'avoir la possibilité d'activer immédiatement le mode avion (pour éviter l'utilisation de données), le débogage usb (pour les applications de type adb uninstall en cas de plantage du serveur_système) et sauvegarder/effacer votre stockage interne via MTP USB (ou adb).

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X