hackappcom / iloot

OpenSource tool for iCloud backup extraction
https://hackapp.com/
634 stars 203 forks source link

Downloading 5300 files due to filter? #57

Open victorhooi opened 8 years ago

victorhooi commented 8 years ago

I've running iloot without any arguments, and in the output I see this:

Got OTA Keybag
Available Snapshots: 45
Listing snapshot 1...
    Shifting offset:  5000
    Shifting offset:  10000
Files in snapshot 5300
Downloading 5300 files due to filter

Are you able to provide any explanation around the above, or what it means?

Also, the downloading appears to stall at the same point each time, shortly after retrieving a sms.db file. Is there any data I could gather, to see what it might be stalling on?

danjng commented 8 years ago

Are you seeing any sort of error? Is that the ONLY output that you're seeing after using the app?

About how long is it taking before it stalls?

I think it may also help to know what OS and environment you're running under...

victorhooi commented 8 years ago

This is running on OSX 10.11, with Python 2.7.10.

This is the output after running:

victorhooi@FOO ~/c/iloot> python iloot.py XXXX YYYY
Working with XXXX : YYYY
Output directory : output
Available Devices:  1
===[ 0 ]===
    UDID:  ZZZZ
    Device:  AAAA
    Size:  1G
    LastUpdate:  BBBB
Downloading backup CCCC to output/CCCC
Got OTA Keybag
Available Snapshots: 45
Listing snapshot 1...
    Shifting offset:  5000
    Shifting offset:  10000
Files in snapshot 5300
Downloading 5300 files due to filter

So my first question is, what does the filter message mean?

After that it proceeds to start download files into output - it gets to around 1.2 GB, and then stalls - it appears to have stalled at the same amount of data each time.

I didn't time how long it ran for, but I would estimate maybe 30-40 minutes? I'm happy to re-run and see if I can time it, if you believe that piece of data (how long it runs for) is useful.

When it stalls, I note there isn't really any network traffic, nor any files being written to output anymore.

danjng commented 8 years ago

So I believe that the filter message is referring to the number of objects that it should download after applying filters (stating the obvious). In your case, however, you aren't applying any filters (no params) so it should be pulling everything. I don't know if 5300 is an exact number, but if you had applied any filters (e.g. using the --item-types parameter - you can just download all of your photos only if you wanted to), the count might be much less.

Now to the issue, I think we may have experienced the same thing. During your downloads, did you encounter a lot of 'chunk decryption failed' errors by any chance?

I had encountered an issue previously where after about 1 hour or so, it would just stop responding - similar to what you're experiencing. I briefly discussed some of my symptoms in https://github.com/hackappcom/iloot/issues/35. iainmeikle had proposed a workaround if you're a decent python coder... Assuming it assigns each object the same id each time the app is run, s/he is proposing to stop the script when it hangs and then resume from where it left off by passing that id in as the start point.

My workaround was to use the filters (--item-types) and download stuff separately so that it was kind of within that strange timeout window. Since I had so many pictures/videos, unfortunately, I had run with the photos/movies filter a few times to make sure I didn't miss anything. For me, it didn't seem like things ran in order and with the decryption errors I was running into, I didn't think I had it all in one piece.

All that said, one other thing you can try is using an older version of python; some folks have had issues with 2.7.9, but I don't have any experience with 2.7.10 as I've been running under 2.7.6.

Sorry for the long response; hope it helps!