{"id":294,"date":"2020-05-02T16:32:04","date_gmt":"2020-05-02T23:32:04","guid":{"rendered":"http:\/\/burnhamup.com\/blog\/?p=294"},"modified":"2020-05-02T16:32:04","modified_gmt":"2020-05-02T23:32:04","slug":"dragon-quest-8-android-save-file","status":"publish","type":"post","link":"https:\/\/burnhamup.com\/blog\/2020\/05\/dragon-quest-8-android-save-file\/","title":{"rendered":"Dragon Quest 8 Android Save File"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The Problem<\/h2>\n\n\n\n<p>I had a copy of Dragon Quest 8 on my Android phone. I wasn&#8217;t really enjoying playing on the tiny phone, and wanted to delete it to free up the space is was taking up. Ideally I wanted to transfer my save file to another device. Normally this would be very easy &#8211; the newest version of the app has a cloud saving feature. However, I had the free version given away by Amazon from four years ago. Since it was on the Amazon store, it hasn&#8217;t been updated and probably won&#8217;t ever be updated. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution<\/h2>\n\n\n\n<p>It seemed like the save files were kept somewhere secure on the phone. It wasn&#8217;t anywhere I could see from the file manager. However, I wasn&#8217;t excited to root my phone, since a lot of the guides seemed to have erasing the phone to be a first step. <\/p>\n\n\n\n<p>I had some luck with the android debugger. With my phone plugged in, I was able to run <\/p>\n\n\n\n<p><code>$ adb backup -f dragon_quest.ab com.square_enix.android_kindle.DQVIII_K<\/code><\/p>\n\n\n\n<p>This took me several tries to actually get a complete backup. My first attempt resulting in an empty file, and subsequent attempts resulted in partial files. Since my phone was encrypted, I need to set a desktop backup password on the phone before it would allow the backup to happen. The partial files happened because I tried to backup the entire APK, and the phone was disconnected before I finished the lengthy process. <\/p>\n\n\n\n<p>I was able to open the file with <code>$java -jar abe-all.jar unpack dragon_quest.ab dragon_quest.tar 'password'<\/code> using  <a href=\"https:\/\/github.com\/nelenkov\/android-backup-extractor\">Android Backup Extrator<\/a>. This gave me an archive where I could see the save files. <\/p>\n\n\n\n<p>Restoring the save files didn&#8217;t work with adb. I tried <code>adb restore dragon_quest.ab<\/code> but got nowhere. I never figured out how to do it. Instead, I got lucky with the android shell. I was able to find a directory on my tablet called <code>\/sdcard\/Android\/data\/com.square_enix.android_kindle.DQVIII_K\/files<\/code> which contained the save files. I cannot see these files or even the folder from the file manager or when I connect the device to the computer. I don&#8217;t know if this is some type of merged file system of secure and insecure files, or if there are different permissions between the adb shell and the file manager apps. I believe I could have found the files in this way on my phone, but I have already deleted the app. <\/p>\n\n\n\n<p>To actually transfer the files, I copied the saves in the Download folder since that was easy to use, and then used a cp command in the shell to move them where I wanted them to go. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Problem I had a copy of Dragon Quest 8 on my Android phone. I wasn&#8217;t really enjoying playing on the tiny phone, and wanted to delete it to free up the space is was taking up. Ideally I wanted &hellip; <a href=\"https:\/\/burnhamup.com\/blog\/2020\/05\/dragon-quest-8-android-save-file\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/posts\/294"}],"collection":[{"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/comments?post=294"}],"version-history":[{"count":1,"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/posts\/294\/revisions"}],"predecessor-version":[{"id":295,"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/posts\/294\/revisions\/295"}],"wp:attachment":[{"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/media?parent=294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/categories?post=294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/burnhamup.com\/blog\/wp-json\/wp\/v2\/tags?post=294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}