Comments (10)
This is the result of the change described here: http://android-developers.blogspot.jp/2013/12/changes-to-secretkeyfactory-api-in.html
and can be probably treated as an Android bug, because restoring backups made with 4.3 will most likely fail on 4.4. File one at http://b.android.com if you can confirm this.
The fix is to replace PBEParametersGenerator.PKCS5PasswordToBytes(pwArray)
in AndroidBackup.java:413 with PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(pwArray)
. There probably needs to be some flag to switch behaviour for 4.4 and prior versions.
from android-backup-extractor.
Totally corrected the problem and I can access my files with your tool. Thank you for this quick answer.
from android-backup-extractor.
Glad it works for you, but let's not close this just yet. I'll have to figure out how fix this properly. Maybe try the second variant if checksum checking fails and only throw an exception if both fail?
from android-backup-extractor.
unpack
will now try both variants. When targeting KitKat you need to use pack-kk
for packing, otherwise restore will fail.
from android-backup-extractor.
What changes do you have to make in the Perl code to accomplish the same thing?
Also is it possible you can compile a new .jar with the changes and upload it please?
from android-backup-extractor.
IIRC, Perl's PBKDF2 code is actually in C and does not support UTF-8 to start with. The C code needs to be modified to use UTF, to be compatible with current 4.4.
I don't distribute a JAR, please compile from source.
from android-backup-extractor.
I can't for the life of me figure out how to compile it using Eclipse, which is what you suggest.
I can get 2 class files if I compile it with javac, but then get an error. If it's suppose to work with compiling with javac, can you let me know and I'll continue trying to figure out what's causing the errors when I attempt to run it.
If not can you point me somewhere that would help me with getting it compiled in Eclipse please?
Thanks
from android-backup-extractor.
Firstly download the source from HERE and not from the sourceforge, their zip file of the src is horribly out of date.
Secondly the javac works, just copy the .class files to the bin folder and use the abe.sh file.
Thirdly I'll attempt to try it in Eclipse given now that I realized I was looking at code from sf and reading comments on here based on the code here.
from android-backup-extractor.
Nothing special required, just add a recent BouncyCastle jar. You can also use Ant, there is a build.xml
file included. If you compile directly with javac, you need to set the classpath accordingly, and include the BouncyCastle jar.
from android-backup-extractor.
Yet, git clone
this repository to get latest code. I am not responsible for any other distributions, and have no idea what state they are in.
from android-backup-extractor.
Related Issues (20)
- Backup convert fail HOT 3
- [BUG] unpack worked, but can't extract .tar, any help appreciated HOT 1
- 求解 HOT 3
- Unpacked tar files are corrupt when unpacking a backup of com.mountainproject.android
- Error when installing the latest version
- 求动中文的朋友帮忙看下
- 求懂中文的朋友帮忙看下
- Problem with Non-English notes
- Convert Titanium Backup To ADB Backup
- Exception in thread "main" java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "" HOT 1
- ERROR: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: org/nick/abe/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 HOT 4
- adb backup file extraction
- stuck at 3% when unpacking a .ab HOT 1
- Exception in thread "main" java.lang.RuntimeException HOT 1
- How to use in Ubuntu 22.04? HOT 3
- Password? HOT 8
- Exception in thread "main" java.lang.RuntimeException: java.lang.NumberFormatException: For input string: " 3☺←c" HOT 4
- Wrong version?? HOT 1
- Xiaomi MIUI health HOT 2
- Dependency Dashboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-backup-extractor.