Pendant 2 jours, j'ai désespérément essayé de récupérer une conversation texte très importante, supprimée par accident de Message+. Permettez-moi de dire que je ne sais ABSOLUMENT rien en technologie ! Après avoir essayé des logiciels douteux qui ne pouvaient pas aider sans rooter (et j'avais des doutes qu'ils soient utiles même si j'avais rooté), il semblait que la meilleure option était d'essayer de trouver les fichiers supprimés en téléchargeant ADB et en faisant une sauvegarde. Après beaucoup de frustration, j'ai finalement réussi à créer un fichier backup.ab. Le téléphone m'a demandé de l'encrypter. Mais le problème qui me hante aujourd'hui est de décompresser cela dans un fichier .tar. Après de nombreuses recherches supplémentaires, j'ai installé Android Backup Extractor et Java. Bien que j'aie trouvé quelques personnes posant des questions similaires sur le web, mon message d'erreur semble être différent. J'espérais un peu d'aide pour le traduire et comprendre quoi faire ensuite. Voici ce que j'ai tapé avec le message d'erreur. Au fait, mon téléphone est un Galaxy S10+ fonctionnant sous Android Version 12. Et le fichier de sauvegarde fait plus de 40 000 ko.
C:\Program Files\Java\jdk-21\bin>java -jar abe.jar unpack backup.ab [motdepasse]
Cette sauvegarde est encryptée, veuillez fournir le mot de passe
Mot de passe :
Checksum MK calculé (utilise UTF-8 : vrai) : 37BDEBD1C840E3B9C82E9EE3D221758E8358AC92DF1C2FD274BBDC525066311D
Exception dans le thread "main" java.lang.RuntimeException: java.io.FileNotFoundException : [motdepasse] (Accès refusé)
at org.nick.abe.AndroidBackup.extractAsTar(AndroidBackup.java:233)
at org.nick.abe.Main.main(Main.java:40)
Caused by: java.io.FileNotFoundException : [motdepasse] (Accès refusé)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:289)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:230)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:118)
at org.nick.abe.AndroidBackup.getOutputStream(AndroidBackup.java:314)
at org.nick.abe.AndroidBackup.extractAsTar(AndroidBackup.java:199)
... 1 more
Mise à jour 1
Après avoir résolu le problème de l'argument manquant du fichier tar, le message d'erreur a changé :
C:\Program Files\Java\jdk-21\bin>java -jar abe.jar unpack backup.ab backup.tar [belle]
Exception dans le thread "main" java.lang.RuntimeException: javax.crypto.BadPaddingException : Bloc final donné incorrectement rembourré. De tels problèmes peuvent survenir si une mauvaise clé est utilisée pendant le déchiffrement.
at org.nick.abe.AndroidBackup.extractAsTar(AndroidBackup.java:233)
at org.nick.abe.Main.main(Main.java:40)
Caused by: javax.crypto.BadPaddingException : Bloc final donné incorrectement rembourré. De tels problèmes peuvent survenir si une mauvaise clé est utilisée pendant le déchiffrement.
at java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:861)
at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:941)
at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:734)
at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2244)
at org.nick.abe.AndroidBackup.extractAsTar(AndroidBackup.java:131)
... 1 more
Merci beaucoup pour toute aide !
Mise à jour 2
J'ai également essayé d'utiliser l'outil de traitement android à la place.
C:\Program Files\Java\jdk-21\bin>java -jar abp.jar unpack backup.ab backup.tar
Sauvegarde encryptée, entrez le mot de passe (NE sera PAS affiché) :
Mot de passe :
Aucun message d'erreur n'a été produit, donc j'ai pensé que cela avait peut-être fonctionné. Pourtant, aucun fichier .tar en vue !