maxihuhe04 / itunes-backup-explorer Goto Github PK
View Code? Open in Web Editor NEWA graphical tool that can extract and replace files from encrypted and non-encrypted iOS backups
License: MIT License
A graphical tool that can extract and replace files from encrypted and non-encrypted iOS backups
License: MIT License
When I try to load the program via java -jar itunes-backup-explorer-1.2.jar
, I get the following error on a M1 Pro MacBook Pro with macOS Ventura 13.0:
java.lang.UnsatisfiedLinkError: Can't load library: /Users/username/.openjfx/cache/18+12/libprism_es2.dylib at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2408) at java.base/java.lang.Runtime.load0(Runtime.java:785) at java.base/java.lang.System.load(System.java:2011) at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:217) at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:197) at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:138) at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54) at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:63) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:52) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:390) at java.base/java.lang.Class.forName(Class.java:381) at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125) at java.base/java.lang.Thread.run(Thread.java:1589) Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: Can't load library: /Users/username/.openjfx/cache/18+12/libprism_sw.dylib java.lang.UnsatisfiedLinkError: Can't load library: /Users/username/.openjfx/cache/18+12/libprism_sw.dylib at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2408) at java.base/java.lang.Runtime.load0(Runtime.java:785) at java.base/java.lang.System.load(System.java:2011) at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:217) at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:197) at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:138) at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54) at com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:43) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:42) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:390) at java.base/java.lang.Class.forName(Class.java:381) at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125) at java.base/java.lang.Thread.run(Thread.java:1589) Graphics Device initialization failed for : es2, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283) at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:253) at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:266) at javafx.scene.image.Image.loadImage(Image.java:1081) at javafx.scene.image.Image.initialize(Image.java:816) at javafx.scene.image.Image.<init>(Image.java:706) at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.getIcon(ITunesBackupExplorer.java:43) at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.<clinit>(ITunesBackupExplorer.java:46) at me.maxih.itunes_backup_explorer.ITunesBackupExplorerLauncher.main(ITunesBackupExplorerLauncher.java:6) Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125) at java.base/java.lang.Thread.run(Thread.java:1589) Exception in thread "main" java.lang.ExceptionInInitializerError at me.maxih.itunes_backup_explorer.ITunesBackupExplorerLauncher.main(ITunesBackupExplorerLauncher.java:6) Caused by: java.lang.RuntimeException: No toolkit found at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:278) at javafx.scene.image.Image.loadImage(Image.java:1081) at javafx.scene.image.Image.initialize(Image.java:816) at javafx.scene.image.Image.<init>(Image.java:706) at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.getIcon(ITunesBackupExplorer.java:43) at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.<clinit>(ITunesBackupExplorer.java:46) ... 1 more```
Similar to what is described here, the program seems to download the wrong architecture for JavaFX: openjfx/javafx-gradle-plugin#112
Hello, I can see in FilesTabController.java that there is there skipButtonType in exportFiles, but when I export same file twice the FileAlreadyExistsException raise the Alert with correct message but only one "OK" button.
I'm running itunes-backup-explorer-1.4.jar in windows 10 pro, using java:
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)
I get an error that says me.maxih.itunes_backup_explorer.api.BackupReadException: java.util.NoSuchElementException: No value present
OUTPUT: Jun 20, 2024 10:18:36 AM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @6d6a0534'
Jun 20, 2024 10:18:41 AM com.sun.glass.ui.mac.MacApplication lambda$waitForReactivation$6
WARNING: Timeout while waiting for app reactivation
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '0x0 is an invalid NSTrackingRectTag. Common possible reasons for this are: 1. already removed this trackingRectTag, 2. Truncated the NSTrackingRectTag to 32bit at some point.'
*** First throw call stack:
(
0 CoreFoundation 0x00007ff816a30946 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff8165180f0 objc_exception_throw + 62
2 Foundation 0x00007ff817a97599 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 362
3 AppKit 0x00007ff81ab7b51c -[_NSTrackingAreaAKViewHelper removeTrackingRect:] + 199
4 libglass.dylib 0x000000010f7ca449 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 3593
5 libglass.dylib 0x000000010f7cf038 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 23032
6 AppKit 0x00007ff81a2f0233 -[NSView setFrame:] + 347
7 libglass.dylib 0x000000010f7cf095 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 23125
8 AppKit 0x00007ff81a30032a -[NSView resizeWithOldSuperviewSize:] + 816
9 AppKit 0x00007ff81a2ffbc2 -[NSView resizeSubviewsWithOldSize:] + 499
10 AppKit 0x00007ff81a2dfea7 -[NSView setFrameSize:] + 1198
11 AppKit 0x00007ff81a2f0233 -[NSView setFrame:] + 347
12 AppKit 0x00007ff81a30032a -[NSView resizeWithOldSuperviewSize:] + 816
13 AppKit 0x00007ff81a2ffbc2 -[NSView resizeSubviewsWithOldSize:] + 499
14 AppKit 0x00007ff81a2dfea7 -[NSView setFrameSize:] + 1198
15 AppKit 0x00007ff81a2fe63b -[NSThemeFrame setFrameSize:] + 466
16 AppKit 0x00007ff81a2fdd3f -[NSWindow _oldPlaceWindow:fromServer:] + 822
17 AppKit 0x00007ff81a2fc68c -[NSWindow _setFrameCommon:display:fromServer:] + 1859
18 libglass.dylib 0x000000010f7c227f getImage + 6799
19 libglass.dylib 0x000000010f7c1cec getImage + 5372
20 libglass.dylib 0x000000010f7c1f59 getImage + 5993
21 libglass.dylib 0x000000010f7d92ce Java_com_sun_glass_ui_mac_MacWindow__1setBounds2 + 446
22 ??? 0x0000000120630b3c 0x0 + 4838329148
23 ??? 0x000000012062c411 0x0 + 4838310929
24 ??? 0x000000012062c411 0x0 + 4838310929
25 ??? 0x000000012062c411 0x0 + 4838310929
26 ??? 0x000000012062c917 0x0 + 4838312215
)
libc++abi: terminating due to uncaught exception of type NSException
[1] 7602 abort java -jar itunes-backup-explorer-1.4.jar
Thank you for this amazing project!
When I am trying to launch the program with the configuration below, I get a few errors.
Using the latest iTunes Backup Explorer v1.4
My configuration
openjdk 19.0.2 2023-01-17
OpenJDK Runtime Environment Homebrew (build 19.0.2)
OpenJDK 64-Bit Server VM Homebrew (build 19.0.2, mixed mode, sharing)
Chip: Apple M1 Pro
Memory: 16 GB
macOS: 13.5.2 (22G91)
The errors
java -jar itunes-backup-explorer-1.4.jar
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: Can't load library: /Users/bech/.openjfx/cache/18+12/libprism_es2.dylib
java.lang.UnsatisfiedLinkError: Can't load library: /Users/bech/.openjfx/cache/18+12/libprism_es2.dylib
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2408)
at java.base/java.lang.Runtime.load0(Runtime.java:785)
at java.base/java.lang.System.load(System.java:2011)
at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:217)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:197)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:138)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54)
at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:63)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:52)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:390)
at java.base/java.lang.Class.forName(Class.java:381)
at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.base/java.lang.Thread.run(Thread.java:1589)
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: Can't load library: /Users/bech/.openjfx/cache/18+12/libprism_sw.dylib
java.lang.UnsatisfiedLinkError: Can't load library: /Users/bech/.openjfx/cache/18+12/libprism_sw.dylib
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2408)
at java.base/java.lang.Runtime.load0(Runtime.java:785)
at java.base/java.lang.System.load(System.java:2011)
at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:217)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:197)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:138)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54)
at com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:43)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:42)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:390)
at java.base/java.lang.Class.forName(Class.java:381)
at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.base/java.lang.Thread.run(Thread.java:1589)
Graphics Device initialization failed for : es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:253)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:266)
at javafx.scene.image.Image.loadImage(Image.java:1081)
at javafx.scene.image.Image.initialize(Image.java:816)
at javafx.scene.image.Image.<init>(Image.java:706)
at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.getIcon(ITunesBackupExplorer.java:43)
at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.<clinit>(ITunesBackupExplorer.java:46)
at me.maxih.itunes_backup_explorer.ITunesBackupExplorerLauncher.main(ITunesBackupExplorerLauncher.java:6)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.base/java.lang.Thread.run(Thread.java:1589)
Exception in thread "main" java.lang.ExceptionInInitializerError
at me.maxih.itunes_backup_explorer.ITunesBackupExplorerLauncher.main(ITunesBackupExplorerLauncher.java:6)
Caused by: java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:278)
at javafx.scene.image.Image.loadImage(Image.java:1081)
at javafx.scene.image.Image.initialize(Image.java:816)
at javafx.scene.image.Image.<init>(Image.java:706)
at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.getIcon(ITunesBackupExplorer.java:43)
at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.<clinit>(ITunesBackupExplorer.java:46)
... 1 more
Hi,
As someone that's not comfortable with Java, after a bit of effort, I managed to run iTunes Backup Explorer on OS X.
While I won't grab the time to put effort into a coherent PR, here's some things (a mixture of instructions for Mac OS users with some small patches):
I had Java 8 installed; I believe it was some sort of "system" Java. Not sure if it was the old Apple-provided build. I needed to bump Java to something newer. As I have Homebrew installed, I used:
brew install java
This installed OpenJDK 17.
Per instructions printed by Homebrew, I exposed this to Apple's wrappers like so:
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
I'm not sure if I had to export JAVA_HOME=$(/usr/libexec/java_home -v17)
.
I had Maven installed from before. It was a Homebrew version (brew install maven
).
At this point I could build iTunes-Backup-Explorer using mvn compile
.
java -jar target/itunes-backup-explorer-1.0-SNAPSHOT.jar
did not work, but mvn javafx:run
did.
JavaFX 13 has bugs on MacOS Catalina+. https://bugs.openjdk.java.net/browse/JDK-8234916
I've switched javafx-controls
and javafx-fxml
to version 15 in pom.xml
This fixes the UI and now it renders correctly.
I had to run this from Terminal.app or iTerm.app which has been first allowlisted in System Preferences's Security & Privacy pane for "Full Disk Access" -- otherwise I could not ls ~/Library/Application Support/MobileSync/Backup
, and neither could it be accessed by iTunes-Backup-Explorer.
By allowlisting the terminal app, java
process inherits these permissions.
There is likely an API to request full disk access, but I have not done serious Cocoa work in years, and definitely not in Java.
Unfortunately, the code also hardcodes the path to MobileSync/Backup
to System.getenv("APPDATA"), "Apple Computer\\MobileSync\\Backup"
.
This is easy to resolve with System.getenv("HOME"), "Library/Application Support/MobileSync/Backup"
.
Even though that's technically incorrect: one should use +[NSFileManager URLForDirectory:inDomains:]
to find the paths to NSApplicationSupportDirectory
in NSUserDomainMask
or NSAllDomainsMask
-- accepting there can be more than one such directory. Now, how to do that in Java? I don't really know.
Of course, this is very much a Mac-specific code change, meaning it should be isolated from other supported OSes, so in lieu of spending time figuring that out, I'm just writing this issue and going back to recovering my Safari tabs :-)
Sorry for my lack of knowledge.
For someone who is not familiar with Java, how to actually run the GUI? It is currently not mentioned in README.md
I am running on Ubuntu 20.04
Hi, I'm a bit of a noob. I'm trying to run the jar file on Windows and it's coming up with Java Exception error. I'm not sure what to do, my Java is updated and I can't run it through command prompt either. Thanks!
In contrast to iOS, Windows has some limitations on how files and folders can be named. You can read more about it here: https://stackoverflow.com/a/36227372/8868841. Basically, folders are not allowed to be called AUX, or AUx in your case. I can't do much about this. An option would be to export it to a folder with a slightly changed name, but I should definitely add a better error message. I won't have time to do this very soon as I'm busy with studying. But it would be very nice if you could open a new issue for this that I don't forget about it.
Hello,
I'm uncertain if this problem is on my side or wherever, but when I'm trying to open the .jar nothing happens when I just click on it (yes I've done all steps and also got Java 20 installed) if I try to execute from the terminal though I get the error
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
after googling it I only found people having this problem in python but this is java, ChatGPT said it's compiled for the wrong architecture, but I thought java is universal and also you can't trust ChatGPT, then I tried running terminal with Rosetta and also the Java Launcher but nothing worked. Looking forward to you suggestions and help.
Thanks!
Due to a memory problem I'm facing on the phone, I am trying to make a smaller backup from an existing large one.
Will there be an update to rebuild a backup file, import selected domains, or remove some parts of an existing backup to make it smaller?
Thanks.
I'm able to look through, delete, and replace files in my AppDomain but I am not able to insert new files. I was hoping to insert an entirely new Library folder into one AppDomain, but the insert statement is grayed out no matter where I right click. Edit is also grayed out.
This is not working on both an iPhone 5 and an iPhone 13. I created the backups using the most recent version of iTunes, and the Version on both backups says 10.0. I'm running Windows 10. Please let me know if you need anymore information.
Hi! I managed to get the program running but I don't know how to input the password for the encrypted backup. Am I supposed to pass any parameter when executing the file or something?
Thank you for your help :)
Hi, trying to export my SMS attachments (on windows).
I select MediaDomain/Library/SMS/Attachments, it works for a while trying to export, then the progress bar unceremoniously closes and the tasbar icon blinks orange, no error box. A significant amount of it does get exported, but much of it doesn't. All of the folders one step below attachments get created, but some of these are left empty.
I suspect it's having trouble with specific files, because...
Is there any kind of logging I can turn on to find the specific files it's failing on? Thanks.
Hey first of all tysm for making this!
I have a few questions regarding your project. I want to extend its functionality to be able delete or compress some junk data of apps like WhatsApp. At least on Android you can safely remove some files that are otherwise not easily deletable via the app natively but on iOS (since there is no file access) this is not possible which is why I want to attempt doing just that via backups.
During development, did you use any kind of profiler? I'm asking because as soon as I open some folders in the WhatsApp container it will start to freeze with the CPU usage going close to 400% for half an hour until I close the process. I'd be happy to investigate but I'd like to know whether that's something you've already done before
Commit 985906e that adds the possibility to replace files also comes with the reEncryptDatabase()
function call. Does that work in a way that I can straight up "edit" any file in a backup, then play back that backup (that then contains the edited file) onto the device, essentially editing the otherwise closed-down iOS file system?
As I have previously mentioned, I'd like to be able to manage some common storage-hungry data. That would be something along the lines of "we don't need full resolution images in there, let's compress them" for example - would you be willing to merge such additions or should I run it as an independent project, only merging your upstream changes each time? I'd be fine with both ways, I'd just like to know your preference on that.
I'm trying to open the file on Mac OS 11.7 where my backups are stored at ~/Library/Application Support/MobileSync
I changed the path under preferences, but I still can't open the backup. When double clicking on the specific backup folder it opens the folder and lists the files in it. The only files I can open from now are manifest.plist and Status.plist. See below.
I expect to double click on the folder and load it in the application, not?
Backups are older maybe this might be a problem?
Hi,
Awesome work on this project- thank you.
When I try to open /HomeDomain/Library/SMS/sms.db
, it tells me "database disk image is malformed".
So I tried:
sqlite3 sms.db
> .tables
> ERROR: database disk image is malformed
I tried to take a dump to remove any issues- sqlite3 sms.db ".dump" | sqlite3 new.db
but kept getting no such table
errors such as
main.chat_handle_join
.
Any ideas on how to fix this issue?
Hi,
I'm having an issue similar to what others have reported. I ran into the "not enough space" issue when trying to restore a backup of an iPhone 13 onto a different, identical iPhone 13. My plan was to use iTunes-Backup-Explorer to delete photos, there by reducing the backup size.
Working on a copy of the original backup, I used version 1.4 to open the backup and navigated to the CameraRollDomain. I expanded Media and selected DCIM, right clicked and selected delete. Once the deletion process completed, I quit the application and proceeded to restore the backup to the iPhone using Finder on my Mac. After the restore process ran for about an hour, it abruptly aborted, gave a message indicating the backup was corrupt, and rebooted the iPhone.
Any ideas how I can solve this problem or how the backup became corrupted? Should I have deleted the folders below DCIM?
Thanks
Mike
Hi there. Thank you for this nice tool!
I was trying to run it though, and get the following error.
The program does open but won't let me open my backup file.
D:\test-temp>java -jar itunes-backup-explorer-1.2.jar
ืืื? 12, 2022 4:35:20 ืืื?ืฆ com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @78b0aab6'
me.maxih.itunes_backup_explorer.api.BackupReadException: me.maxih.itunes_backup_explorer.api.BackupReadException: java.util.NoSuchElementException: No value present
at me.maxih.itunes_backup_explorer.api.ITunesBackup.loadInfo(ITunesBackup.java:93)
at me.maxih.itunes_backup_explorer.api.ITunesBackup.<init>(ITunesBackup.java:70)
at me.maxih.itunes_backup_explorer.api.ITunesBackup.lambda$getBackups$0(ITunesBackup.java:31)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at me.maxih.itunes_backup_explorer.api.ITunesBackup.getBackups(ITunesBackup.java:41)
at me.maxih.itunes_backup_explorer.ui.WindowController.loadBackups(WindowController.java:135)
at me.maxih.itunes_backup_explorer.ui.WindowController.initialize(WindowController.java:76)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2673)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516)
at me.maxih.itunes_backup_explorer.ITunesBackupExplorer.start(ITunesBackupExplorer.java:21)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: me.maxih.itunes_backup_explorer.api.BackupReadException: java.util.NoSuchElementException: No value present
at me.maxih.itunes_backup_explorer.api.BackupInfo.<init>(BackupInfo.java:74)
at me.maxih.itunes_backup_explorer.api.ITunesBackup.loadInfo(ITunesBackup.java:91)
... 32 more
Caused by: java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.orElseThrow(Optional.java:377)
at me.maxih.itunes_backup_explorer.api.BackupInfo.<init>(BackupInfo.java:59)
... 33 more
My Java version is
java version "18.0.2" 2022-07-19
Java(TM) SE Runtime Environment (build 18.0.2+9-61)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.2+9-61, mixed mode, sharing
Thanks!
First of all I want to say that this is great software and it works exceptionally well and I totally appreciate your investment here!
I wanted to ask about the privacy policy of this tool, I know that of course if it appears on GitHub
it is open source and anyone can see edit and suggest changes to the code
but anyway I don't usually read the code in its entirety and I usually access the privacy policy provided by the developer
I haven't seen mention of this in the Read_me.md file so I wanted to ask if this software/code collects any data?
Thanks!
Hi,
I have exported sms.db but am unable to use it with sqlite3:
Error: database disk image is malformed
Any idea what could be the issue and how I could troubleshoot?
Thank you.
Hi, I'm trying to read a backup on an external HD it's not encrypted and I get this error.
me.maxih.itunes_backup_explorer.api.BackupReadException:
java.util.NoSuchElementException: No value present
same error on Manifest.db or .plist
Files are there and if manually add the extension it works fine but I hoped this could save me some time. Can you please help me?
Hi, thanks for this great app!
When I select multiple domains and chose "export selected domains" it only exports one of them, but not all. It should put each domain in a subfolder.
Using itunes-backup-explorer-1.2.jar
and java 17.0.5 2022-10-18 LTS
.
I made a backup for my iPhone and somehow it was bigger than available storage even after erasing my iPhone so I tried this tool to delete some image folders and and now I get an error that the backup file is corrupt.
Hi.
I was able to find the voice recordings but only a few hundred out of around 900 saved in my phone.
Also, non of them have the titles I saved them in on my phone.
Do you think there's a way to fix that?
Both on the latest available JAR file and after compiling locally, I get the following exception when running:
2023-12-06 15:30:33.118 java[29424:296213] *** Assertion failure in -[_NSTrackingAreaAKViewHelper removeTrackingRect:], _NSTrackingAreaAKManager.m:1637
2023-12-06 15:30:33.119 java[29424:296213] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '0x0 is an invalid NSTrackingRectTag. Common possible reasons for this are: 1. already removed this trackingRectTag, 2. Truncated the NSTrackingRectTag to 32bit at some point.'
*** First throw call stack:
(
0 CoreFoundation 0x00007ff8088cc11a __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff8083f20b7 objc_exception_throw + 48
2 Foundation 0x00007ff8097a2cd8 -[NSCalendarDate initWithCoder:] + 0
3 AppKit 0x00007ff80bfa0fe3 -[_NSTrackingAreaAKViewHelper removeTrackingRect:] + 190
4 libglass.dylib 0x000000010d960449 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 3593
5 libglass.dylib 0x000000010d965038 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 23032
6 AppKit 0x00007ff80b930091 -[NSView setFrame:] + 347
7 libglass.dylib 0x000000010d965095 Java_com_sun_glass_ui_mac_MacApplication__1getMacKey + 23125
8 AppKit 0x00007ff80b940ec8 -[NSView resizeWithOldSuperviewSize:] + 694
9 AppKit 0x00007ff80b9407fb -[NSView resizeSubviewsWithOldSize:] + 499
10 AppKit 0x00007ff80b91ff26 -[NSView setFrameSize:] + 1460
11 AppKit 0x00007ff80b930091 -[NSView setFrame:] + 347
12 AppKit 0x00007ff80b940ec8 -[NSView resizeWithOldSuperviewSize:] + 694
13 AppKit 0x00007ff80b9407fb -[NSView resizeSubviewsWithOldSize:] + 499
14 AppKit 0x00007ff80b91ff26 -[NSView setFrameSize:] + 1460
15 AppKit 0x00007ff80b93ec03 -[NSThemeFrame setFrameSize:] + 464
16 AppKit 0x00007ff80b93e30f -[NSWindow _oldPlaceWindow:fromServer:] + 831
17 AppKit 0x00007ff80b93cda2 -[NSWindow _setFrameCommon:display:fromServer:] + 3089
18 libglass.dylib 0x000000010d95827f getImage + 6799
19 libglass.dylib 0x000000010d957cec getImage + 5372
20 libglass.dylib 0x000000010d957f59 getImage + 5993
21 libglass.dylib 0x000000010d96f2ce Java_com_sun_glass_ui_mac_MacWindow__1setBounds2 + 446
22 ??? 0x000000011edf2980 0x0 + 4812908928
23 ??? 0x000000011edee362 0x0 + 4812890978
24 ??? 0x000000011edee362 0x0 + 4812890978
25 ??? 0x000000011edee362 0x0 + 4812890978
26 ??? 0x000000011edee7ee 0x0 + 4812892142
)
libc++abi: terminating due to uncaught exception of type NSException
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 134 (Exit value: 134)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:982)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:929)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:457)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
I've read and attempted everything suggested in #3, but nothing has helped thus far.
What path and domain can I find notes and note attachments?
I'm sorry I haven't got around to fixing this until now. I'd appreciate it if someone could test it and reopen the issue if there are still problems.
Originally posted by @MaxiHuHe04 in #8 (comment)
Hi Maxi!!
First of all...you rock providing such a tool as open source!!
Just tried to install it and ran into a problem open the jar file...here is the error:
com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @3086edd8'
objc[9879]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fff8e477c90) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x16a656cd8). One of the two will be used. Which one is undefined.
it has a different outcome after the second line because i am on a MAC but the first line of error is identical, it has something todo with javaFX...i am not a coder but i found something here i think? (lol):
https://stackoverflow.com/questions/67854139/javafx-warning-unsupported-javafx-configuration-classes-were-loaded-from-unna
i also have to tell you that the GUI loaded but when i browsed to the backup the files where grayed out(and when i open the "info.plist file which i assume i get an error message that"manifest.db" is missing
Now, here is my system config( and i know you don't have a MAC):
MAC Book (intel), High Sierra, Java SDK 20.0.2
Now, one thing i also have to tell....its an older iphone and i believe IOS version is something around 9.6.2 or similar, could this be a problem?
Anyway, hope you have any idea about this issue, looking forward to hear from you!
Best,
Frank
Primetechstar
`java -jar "C:\Users\Ryzen\Downloads\itunes-backup-explorer-1.4.jar"
Exception in thread "main" java.lang.UnsupportedClassVersionError: me/maxih/itunes_backup_explorer/ITunesBackupExplorerLauncher 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
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Already installed Java JDK latest and set java environment.
I have older backups that uses .mbdb back up files that isnt compatible with this. Is there anyway to get it to work with older iphone backups.
So I tried using the command prompt and it says unable to access this jar file, then I tried double clicking and Java gave me the error of. A Java Exception has occured, I really don't know much about those, think i could get some guidance?
I want to say thanks again for this amazing extension!
There is something I noticed that when I export any photo the original date the photo was taken does not appear
and instead the date the backup was taken appears
Even in the EXIF of the photo, the original date does not appear
Do you know how to fix it?
Thank you for your wonderful work
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.