{"id":100,"date":"2014-12-22T16:14:06","date_gmt":"2014-12-22T21:14:06","guid":{"rendered":"http:\/\/blog.jjhayes.net\/wp\/?p=100"},"modified":"2019-03-14T21:57:49","modified_gmt":"2019-03-15T01:57:49","slug":"saving-offline-copies-of-your-webos-apps-ipks-before-hp-app-catalog-shutdown","status":"publish","type":"post","link":"https:\/\/blog.jjhayes.net\/wp\/2014\/12\/22\/saving-offline-copies-of-your-webos-apps-ipks-before-hp-app-catalog-shutdown\/","title":{"rendered":"Saving offline copies of your WebOS apps (IPKs) before HP App Catalog Shutdown"},"content":{"rendered":"<p><strong>**** UPDATE 6\/27\/2015: As of the App Catalog Shutdown, this method will no longer work!! ****<\/strong><\/p>\n<p>With the <a href=\"http:\/\/forums.webosnation.com\/webos-discussion-lounge\/328720-hp-app-catalog-cloud-services-shut-down-jan-15-2015-a.html\">HP App Catalog shutting down soon<\/a>, now is the time to grab offline copies of any of the apps you&#8217;ve installed or purchased.<\/p>\n<p>This method will use your devices&#8217; existing credentials to grab a list of all the apps you&#8217;ve purchased\/installed, and download each one from HPs servers before they are shutdown.<\/p>\n<p>First, we need to get a few things off of our WebOS device. \u00a0You will need the <a href=\"http:\/\/www.webos-internals.org\/wiki\/Application:Preware\">Preware<\/a> app &#8220;<a href=\"https:\/\/github.com\/webOS-ports\/impostah\">Impostah<\/a>&#8221; in order to complete these steps. \u00a0Go to each relevant page and email the info to yourself.<\/p>\n<ol>\n<li>Open <strong>Impostah<\/strong><br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/01_impostah_main.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-111\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/01_impostah_main.png\" alt=\"01_impostah_main\" width=\"766\" height=\"206\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/01_impostah_main.png 766w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/01_impostah_main-300x80.png 300w\" sizes=\"auto, (max-width: 766px) 100vw, 766px\" \/><\/a><\/li>\n<li>Tap <strong>&#8220;Palm Profile&#8221;<\/strong><\/li>\n<li>Tap <strong>&#8220;Show Palm Profile&#8221;<\/strong><\/li>\n<li>Tap the Impostah menu (upper left) and choose <strong>&#8220;Email&#8221;<\/strong><br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/impostah_email1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-105\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/impostah_email1.png\" alt=\"impostah_email1\" width=\"768\" height=\"259\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/impostah_email1.png 768w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/impostah_email1-300x101.png 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/li>\n<li>Put in your email address and hit <strong>&#8220;Send&#8221;<\/strong><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-115\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/email.png\" alt=\"email\" width=\"767\" height=\"197\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/email.png 767w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/email-300x77.png 300w\" sizes=\"auto, (max-width: 767px) 100vw, 767px\" \/><\/li>\n<li>Go back to Impostah home<\/li>\n<li>Repeat email steps (4 and 5) for <strong>&#8220;Device Profile -&gt;\u00a0Show Device Profile&#8221;<\/strong><\/li>\n<li>Repeat email steps (4 and 5) for\u00a0<strong>&#8220;App Catalog -&gt;\u00a0Show Installed Apps&#8221;<\/strong><\/li>\n<\/ol>\n<p>Now, we&#8217;ve gathered the required information, we&#8217;ll need to get the script ready to run on our own computer.<\/p>\n<ol>\n<li>Dowload the script from\u00a0<a href=\"https:\/\/github.com\/PrplHaz4\/webos-ipk-dump\/blob\/1.2\/webos-ipk-dump.zip?raw=true\">here<\/a>:\u00a0https:\/\/github.com\/PrplHaz4\/webos-ipk-dump\/blob\/1.2\/webos-ipk-dump.zip?raw=true<\/li>\n<li>Open the downloaded <strong>webos-ipk-dump.zip<\/strong> file<\/li>\n<li>Extract the files to<strong> c:\\temp<br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-116 size-medium\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip-300x151.png\" alt=\"extract_zip\" width=\"300\" height=\"151\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip-300x151.png 300w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-117 size-medium\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip2-300x242.png\" alt=\"extract_zip2\" width=\"300\" height=\"242\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip2-300x242.png 300w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/extract_zip2.png 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<\/strong><\/li>\n<li>You should now see <strong>webos-ipk-dump.exe<\/strong> inside \u00a0<strong>c:\\temp\\webos-ipk-dump<\/strong> directory<\/li>\n<li>Double-click &#8220;webos-ipk-dump&#8221; folder to see its contents (should contain a .exe file)<\/li>\n<li>Right click on a blank space in the folder and choose &#8220;New -&gt; Text Document&#8221;<\/li>\n<li>Rename &#8220;New Text Document.txt&#8221; to ipkdump.json (click &#8220;yes&#8221; to change the file name extension)<br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/rename_text_file.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-107 size-medium\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/rename_text_file-300x189.png\" alt=\"rename_text_file\" width=\"300\" height=\"189\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/rename_text_file-300x189.png 300w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/rename_text_file.png 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Find the email you sent yourself earlier with &#8220;Installed Apps&#8221;<\/li>\n<li>Copy the entire email BODY (from the first &#8220;{&#8221; to the last &#8220;}&#8221;)<\/li>\n<li>Paste it into the blank Notepad document<\/li>\n<li>Notepad -&gt; File -&gt; Save As&#8230;<\/li>\n<li>Give it a name &#8220;ipkdump.json<\/li>\n<li>Select Save as type: \u00a0All Files (*.*)<\/li>\n<li>Encoding: UTF-8 (THIS IS VERY IMPORTANT!)<\/li>\n<li>Save<br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/save_text_file.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-108\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/save_text_file.png\" alt=\"save_text_file\" width=\"768\" height=\"574\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/save_text_file.png 768w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/save_text_file-300x224.png 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/li>\n<\/ol>\n<p>Everything is all set up, and we are ready to run the script!<\/p>\n<ol>\n<li>Double-click &#8220;webos-ipk-dump.exe&#8221;<\/li>\n<li>If prompted with a Windows protection dialog, click &#8220;More Info -&gt; Run Anyway&#8221;<br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/win_protected2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-110\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/win_protected2-300x111.png\" alt=\"win_protected2\" width=\"300\" height=\"111\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/win_protected2-300x111.png 300w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/win_protected2.png 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>You should see a command line application come up<\/li>\n<li>Go back to the email you sent called &#8220;Palm Profile&#8221;<\/li>\n<li>Find and copy the &#8220;token&#8221; value to your clipboard (just the long string of numbers)\n<pre>\"token\": \"<wbr \/><strong>NXXX7A12XXXA1432XXX7D0XXXF3EXXXDB<\/strong>\",<\/pre>\n<\/li>\n<li>Paste it into the script when you&#8217;re asked for &#8220;Palm Profile Token&#8221; (hit enter)<br \/>\n<a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/command_line_paste.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-114 size-full\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/command_line_paste.png\" alt=\"command_line_paste\" width=\"768\" height=\"369\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/command_line_paste.png 768w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/command_line_paste-300x144.png 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/li>\n<li>Go back to the last email you sent called &#8220;Device Profile&#8221;<\/li>\n<li>Find and copy the &#8220;nduId&#8221; value to your clipboard (for devices with cellular radios &#8211; Pre, Veer, 4G&#8230;etc &#8211; use the\u00a0IMEI instead of nduId)\n<pre>\"nduId\": \"<wbr \/><strong>7xxx47axxxcd3xxx2a6exxxa20dxxxb4a3cxxx45<\/strong>\",<\/pre>\n<\/li>\n<li>Paste it into the script when you&#8217;re asked for &#8220;Device Profile nduId&#8221; (hit enter)<\/li>\n<li>Type ipkdump.json for the &#8220;Installed Apps json&#8221; (hit enter)<\/li>\n<li>Your downloads show start immediately &#8211; some apps are larger than others so may take a long time to download<\/li>\n<\/ol>\n<p>You&#8217;re done. \u00a0You can find the your\u00a0downloaded apps in the folder:<\/p>\n<pre>c:\\temp\\webos-ipk-dump\\ipk<\/pre>\n<p>** If you cancel the processing for whatever reason, be sure to delete the last downloaded file, as it will be an incomplete download!<\/p>\n<p><a href=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/finished.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-121\" src=\"http:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/finished.png\" alt=\"finished\" width=\"768\" height=\"801\" srcset=\"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/finished.png 768w, https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/finished-287x300.png 287w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/p>\n<p>Notes:<\/p>\n<p>Windows Notepad file encoding (or JSON\/Python)<br \/>\nANSI fails<br \/>\nUnicode works (UTF-16)<br \/>\nUnicode Big-endian works (UTF-16)<br \/>\nUTF-8 works (UTF-8-SIG) *preferred<\/p>\n","protected":false},"excerpt":{"rendered":"<p>**** UPDATE 6\/27\/2015: As of the App Catalog Shutdown, this method will no longer work!! **** With the HP App Catalog shutting down soon, now is the time to grab offline copies of any of the apps you&#8217;ve installed or purchased. This method will use your devices&#8217; existing credentials to grab a list of all [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":122,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30],"tags":[31,32,43],"class_list":["post-100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webos","tag-hp-touchpad","tag-preware","tag-webos"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/blog.jjhayes.net\/wp\/wp-content\/uploads\/2014\/12\/webos-ipk-dump-e1419282403403.png","jetpack_shortlink":"https:\/\/wp.me\/p3XdjT-1C","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":5,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":152,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/posts\/100\/revisions\/152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/media\/122"}],"wp:attachment":[{"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jjhayes.net\/wp\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}