{"id":685,"date":"2011-03-07T22:28:23","date_gmt":"2011-03-07T14:28:23","guid":{"rendered":"http:\/\/www.computersolutions.cn\/blog\/?p=685"},"modified":"2011-10-31T03:52:06","modified_gmt":"2011-10-30T19:52:06","slug":"how-to-add-ultrasn0w-to-an-iphone-with-no-wifi-using-pwnagetool-or-how-to-unlock-a-phone-with-no-wifi","status":"publish","type":"post","link":"https:\/\/www.computersolutions.cn\/blog\/2011\/03\/how-to-add-ultrasn0w-to-an-iphone-with-no-wifi-using-pwnagetool-or-how-to-unlock-a-phone-with-no-wifi\/","title":{"rendered":"How to add Ultrasn0w to an iPhone with no Wifi using PwnageTool &#8211; or how to unlock a phone with no wifi."},"content":{"rendered":"<p>Had a client come into the office today with a locked iPhone.<\/p>\n<p>Normally this isn&#8217;t really a big deal (assuming that there is a hack for it), but in this case, it was a little more complex, as he didn&#8217;t have working wifi.<\/p>\n<p>PwnageTool has a great feature where you can add Cydia Packages to a custom firmware, so that you can prepackage the firmware already to go.<\/p>\n<p>So, I opened up PwnageTool, added the <a href=\"http:\/\/repo666.ultrasn0w.com\/\">http:\/\/repo666.ultrasn0w.com\/<\/a> site to the Cydia sources section in advanced, and tried to load in Ultrasn0w.<\/p>\n<p>Life isn&#8217;t easy, and it didn&#8217;t work.<\/p>\n<p>But why didn&#8217;t it work?<\/p>\n<p>I took a look at a working site, and checked out the differences between their package section and Ultrasn0w&#8217;s.<\/p>\n<p>Ultrasn0w is hosted on repo666.ultrasn0w.com<br \/>\nWhile their website doesn&#8217;t really tell you much useful information,  a bit of googling lead to some info.<\/p>\n<p>The .deb file (debian package file) on their site is at <a href=\"http:\/\/repo666.ultrasn0w.com\/ultrasn0w.deb\">http:\/\/repo666.ultrasn0w.com\/ultrasn0w.deb<\/a><\/p>\n<p>Cydia usually needs stuff in a  particular format, so I next checked out how one makes a repository.<br \/>\nThis is documented at Saurik&#8217;s site here &#8211; <a href=\"http:\/\/www.saurik.com\/id\/7\">http:\/\/www.saurik.com\/id\/7<\/a><\/p>\n<p>Basically, you throw files into a folder and make a Packages file.<\/p>\n<p>The example given on Saurik&#8217;s site is this:<\/p>\n<p><code>\/web\/apt\/xmpl]# dpkg-scanpackages -m . \/dev\/null >Packages<br \/>\n ** Packages in archive but missing from override file: **<br \/>\n  com.saurik.myprogram<\/p>\n<p> Wrote 1 entries to output Packages file.<br \/>\n[root@desktop:\/web\/apt\/xmpl]# bzip2 Packages<br \/>\n[root@desktop:\/web\/apt\/xmpl]# ls -la *<br \/>\n-rw-r--r-- 1 root root 906 2008-07-01 07:48 MyProgram.deb<br \/>\n-rw-r--r-- 1 root root 380 2008-07-01 08:00 Packages.bz2<br \/>\n[root@desktop:\/web\/apt\/xmpl]# <\/code><\/p>\n<p>So, it appears we need a Packages.bz2 file.<\/p>\n<p>Being adventurous, I decided to setup my own repo, and stuck the .deb file for Ultrasn0w in there.<br \/>\nFollowed the instructions and created the Packages.bz2 file.<\/p>\n<p>Tried again in PwnageTool, and&#8230;  No go.<\/p>\n<p>Hmm.<\/p>\n<p>Does <a href=\"http:\/\/repo666.ultrasn0w.com\">http:\/\/repo666.ultrasn0w.com<\/a> have a Packages.bz2 file?<br \/>\nWhy yes it does.<\/p>\n<p>Take another look at the working one &#8211; ahah says my brain.<\/p>\n<p>They point the folder to the _uncompressed_ Packages file.<br \/>\nI guess PwnageTool doesn&#8217;t support compressed Package list files.<\/p>\n<p>So, I try that out using an uncompressed file.<br \/>\nCreated the Packages file with <\/p>\n<p><code>dpkg-scanpackages -m . \/dev\/null >Packages<\/code><\/p>\n<p>and try again.<\/p>\n<p>Better &#8211; I&#8217;m getting a result now with my repo when I click refresh.<br \/>\nHowever, I can&#8217;t seem to be able to download any files&#8230;<\/p>\n<p>So, lets take a look at whats happening in my apache logs.<\/p>\n<p><code><br \/>\n58.37.213.199 - - [07\/Mar\/2011:20:50:52 +0800] \"GET \/dists\/Packages HTTP\/1.1\" 200 1643 \"-\" \"PwnageTool\/4.2 CFNetwork\/454.11.5 Darwin\/10.6.0 (i386) (iMac9%2C1)\"<br \/>\n58.37.213.199 - - [07\/Mar\/2011:20:51:06 +0800] \"GET \/.\/mobilesubstrate_0.9.3228-1_iphoneos-arm.deb HTTP\/1.1\" 404 1184 \"-\" \"PwnageTool\/4.2 CFNetwork\/454.11.5 Darwin\/10.6.0 (i386) (iMac9%2C1)\"<br \/>\n58.37.213.199 - - [07\/Mar\/2011:20:51:42 +0800] \"GET \/.\/ultrasn0w.deb HTTP\/1.1\" 404 1164 \"-\" \"PwnageTool\/4.2 CFNetwork\/454.11.5 Darwin\/10.6.0 (i386) (iMac9%2C1)\"<br \/>\n<\/code><\/p>\n<p>Aha!  While its successfully found the repo now, its looking for the files in the wrong folder &#8211; my repo is in \/dists, and its looking in the root folder.<\/p>\n<p>Seems the Saurik instructions are a bit mangled, or the Package generator is a bit silly.<br \/>\nQuick look at the helpfile shows it needs the folder via -m<\/p>\n<p>So I went up a level, and regenerated my file.<\/p>\n<p><code><br \/>\ncd ..<br \/>\ndpkg-scanpackages -m dists > dists\/Packages<br \/>\n<\/code><\/p>\n<p>Yes, it works!<\/p>\n<p><a href=\"http:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-repo.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-repo.gif\" alt=\"\" title=\"cydia repo\" width=\"652\" height=\"196\" class=\"aligncenter size-full wp-image-686\" srcset=\"https:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-repo.gif 652w, https:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-repo-300x90.gif 300w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><\/a><\/p>\n<p>Now PwnageTool can download my file finally.  Yay!<\/p>\n<p>I just need to select it in PwnageTool \/ Packages as below, and build my ipsw to test.<\/p>\n<p><a href=\"http:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-select.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-select.gif\" alt=\"\" title=\"cydia select\" width=\"681\" height=\"192\" class=\"aligncenter size-full wp-image-687\" srcset=\"https:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-select.gif 681w, https:\/\/www.computersolutions.cn\/blog\/wp-content\/uploads\/2011\/03\/cydia-select-300x84.gif 300w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><\/p>\n<p>Now I can finally make my own Ultrasn0w firmware woohoo!<br \/>\nNot as hard as it seems, but not as easy either!<\/p>\n<p><s>I&#8217;ll leave my UltraSn0w repo at <a href=\"http:\/\/www.sheed.com\/dists\/\">http:\/\/www.sheed.com\/dists\/<\/a> for now, but will probably move it elsewhere at some point, and update this post.  So, if you need it, get it while you can.<\/s><\/p>\n<p>Lawrence.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Had a client come into the office today with a locked iPhone. Normally this isn&#8217;t really a big deal (assuming that there is a hack for it), but in this case, it was a little more complex, as he didn&#8217;t have working wifi. PwnageTool has a great feature where you can add Cydia Packages to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[48,282,5,25,4],"tags":[326,522,324,329,325,327,328,331,330],"class_list":["post-685","post","type-post","status-publish","format-standard","hentry","category-exploits","category-firmware-2","category-iphone","category-technical-mumbo-jumbo","category-useful-info","tag-cydia","tag-iphone","tag-ipsw","tag-no-wifi","tag-pwnagetool","tag-ultrasn0w","tag-ultrasnow","tag-wifi","tag-wifi-broken"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/posts\/685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/comments?post=685"}],"version-history":[{"count":4,"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/posts\/685\/revisions"}],"predecessor-version":[{"id":689,"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/posts\/685\/revisions\/689"}],"wp:attachment":[{"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/media?parent=685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/categories?post=685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.computersolutions.cn\/blog\/wp-json\/wp\/v2\/tags?post=685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}