-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS 11 beta #66
Comments
I just tried this out myself. It does detect that there's an IOS 11 backup but after trying to download it this is all I get without any errors:
Let me know if there is any way I can help out, maybe by providing an account with a backup. |
Heya. Thank you for the input. |
Hi @horrorho, by looking at some logs I believe a protectionInfo and protectionInfoTag are not sent in response anymore or in different format. message Record { Additionally, I've noticed that a new field 13 was added under field 7 (RecordField). |
@jirmi I only have partial logging available but it does confirm the absence of protection info data. Encrypted fields are still present so keys are still required and delivered in some manner. @Yaldo425 Would you kindly contact me at horrorhorrorho@gmail.com? It's not an obviously trivial fix based on the logging information I have. I would like to take you up on your earlier offer if it still stands. Thank you! |
@horrorho No problem. Will have the credentials sent within an hour! I'm going to try to go for another backup that is slightly bigger than just 13MB. |
@Yaldo425 I won't be back home from work until late evening and it's only midday now. So no rush hey. Thank you so much! |
@horrorho I just sent the credentials. Thanks again! |
@Yaldo425 Ok! I've figured out this particular issue. I've partly patched InflatableDonkey and minus a few quirks it's working again. Hopefully I can complete it all over the weekend and have it pushed by next week. I'll continue to test it with your backup during that time if that's ok. In short there is a new ProtectionInfo field in Zone. I don't know what it's called, so it's message Zone {
optional RecordZoneIdentifier zoneIdentifier = 1;
optional ProtectionInfo protectionInfo = 3;
optional ProtectionInfo protectionInfoX = 6;
} In addition not all Records have ProtectionInfo fields, in which case the parent Zone ProtectionInfo is used. I don't think it's any more complicated than that. The usual caveats apply and there maybe additional changes that haven't surfaced yet. Oh. There's also a change in the way asset domain fields are handled but that should be simple fix. 😼 |
@horrorho Nice job! You can test it with the backup for however long you want, I don't mind! |
@horrorho Thanks! Btw. the new protectionInfo name is just "recordProtectionInfo". |
@jirmi Oh yes, that would make sense hey. I'll amend my code. |
Update. Ok! Good and potentially bad news. Good: I've fully patched InflatableDonkey. I'll test and have it out by the weekend if all is well. Bad: Some files are compressed with bvx2. Notable |
@horrorho Thanks for the info, you are right. I can also confirm the bvx2 compression on my backup files. |
@horrorho I've done some additional testing and I was able to simply decompress a sqlite file without using any keys, just by running lzfse command line tool.
|
@jirmi Hi. Thank you. I was playing with with The issue is that there are presently no Java I don't like either solution. However and possibly foolishly I did commence writing my own Otherwise we'll go for the native binary approach, although I can see some of the more casual Windows InflatableDonkey users being inconvenienced by this. If anyone has an other ideas or solutions, I would like to hear them! |
I can't also find anything for Java. For python there is module pylzfse which provides python bindings for LZFSE from the reference implementation. Not sure if the same thing would be possible with Java (JNI) but I would guess it could also work and would be surely less amount of work then writing compressor from scratch :-), it must surely be quite complex thing to develop. On the other side, I'm quite excited to see your implementation in Java ;-) |
@jirmi Yes I suspect you're right. I'm already questioning the sanity of my approach. |
@jirmi On further reflection, I don't think a JNI wrapper confers a huge advantage over using a native binary in our particular set of circumstances. We will be decompressing files on disk and it's trivial invoking The issue is actually having the I'm not sure what the legal deal is with supplying pre-compiled I'm about 90% of the way through coding a If others are interested I can upload my decompressor to Github, although I'll probably have to change it's name to something other than 🌵 |
@horrorho I am quite interested to see the complexity of the decompressor written in Java. So yes, pls upload it whenever you get some time, the name jlzfse sounds good - although just slightly better than CatButts 😁 😁 Also, I believe it should be possible to compile the lzfse for windows in Visual Studio but I haven't tried myself. Just guessing based on some issues on github (e.g. lzfse/lzfse#33). For best user experience, it would mean to supply InflatableDonkey with multiple binaries for each platform. Considering that, I guess it is best for you to finish it in Java since you are nearly done anyway. |
Ok! I've pushed the patch. I've only tested it on a single backup, thank you @Yaldo425! @jirmi I'll push it once it's in a sensible state. Agree in regards to targeting user experience. |
#67 Implemented via RagingMoose. |
I'm able to choose an iOS 11 snapshots and it looks like the files in the snapshot are detected however the files are not downloaded. I'll e-mail logs.
The text was updated successfully, but these errors were encountered: