<?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=Dirkg</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=Dirkg"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Dirkg"/>
	<updated>2026-05-02T12:28:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=AFC&amp;diff=40699</id>
		<title>AFC</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=AFC&amp;diff=40699"/>
		<updated>2014-04-06T02:42:05Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: /* AFC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== AFC ==&lt;br /&gt;
AFC (Apple File Conduit) is a service that runs on every iPhone / iPod, which [[iTunes]] uses to exchange files with the device. It is jailed to the directory /private/var/mobile/Media, which is on the second (non-OS) partition. The AFC service is handled by /usr/libexec/afcd, and runs over the [[Normal Mode|usbmux protocol]].&lt;br /&gt;
&lt;br /&gt;
== AFC2 ==&lt;br /&gt;
AFC2 is a an additional AFC service, configured to allow access to the whole filesystem. Installing it and patching the fstab file for full write access is considered a bare-bones [[jailbreak]]. The AFC2 service is added by editing the [[/System/Library/Lockdown/Services.plist]] file and adding a service that runs under root with access to the [[/|Root]] filesystem.&lt;br /&gt;
&lt;br /&gt;
{{stub|software}}&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:Morpheus&amp;diff=38444</id>
		<title>User talk:Morpheus</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:Morpheus&amp;diff=38444"/>
		<updated>2013-12-31T03:21:20Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mind explaining why you chopped out sections of information as &amp;quot;false&amp;quot;? so this doesn't blow up, i rewrote the entirety of that page because it didn't explain the process, and in-fact, i am rather regretting trying to base it off what you originally wrote as i didn't use jtool at all, i was using a hex editor and machoviewer. So instead of rewriting this as about specifically jtool, would you mind replacing the sections removed and labeled as &amp;quot;false&amp;quot; so people can future understand the RE process?&lt;br /&gt;
--[[User:Dirkg|Dirkg]] ([[User talk:Dirkg|talk]]) 03:21, 31 December 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:Morpheus&amp;diff=38443</id>
		<title>User talk:Morpheus</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:Morpheus&amp;diff=38443"/>
		<updated>2013-12-31T03:21:02Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: Created page with &amp;quot;mind explaining why you chopped out sections of information as &amp;quot;false&amp;quot;? so this doesn't blow up, i rewrote the entirety of that page because it didn't explain the process, and...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mind explaining why you chopped out sections of information as &amp;quot;false&amp;quot;? so this doesn't blow up, i rewrote the entirety of that page because it didn't explain the process, and in-fact, i am rather regretting trying to base it off what you originally wrote as i didn't use jtool at all, i was using a hex editor and machoviewer. So instead of rewriting this as about specifically jtool, would you mind replacing the sections removed and labeled as &amp;quot;false&amp;quot; so people can future understand the RE process?&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Dirkg&amp;diff=38390</id>
		<title>User:Dirkg</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Dirkg&amp;diff=38390"/>
		<updated>2013-12-28T22:19:02Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reverse engineer and system internals coder.&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
* Twitter: @dirk_gently&lt;br /&gt;
* Email: me@samdmarshall.com&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=The_iPhone_Wiki:Community_portal&amp;diff=34560</id>
		<title>The iPhone Wiki:Community portal</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=The_iPhone_Wiki:Community_portal&amp;diff=34560"/>
		<updated>2013-08-28T22:48:20Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: clarification on converting task&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk Archive}}&lt;br /&gt;
{{see also|Unsolved problems}}&lt;br /&gt;
== iPhone-Elite ==&lt;br /&gt;
I think we should include all this old stuff before it gets lost: [http://code.google.com/p/iphone-elite/ code.google.com/p/iphone-elite/]. I mean the wiki articles there. Most infos should be already here, but I'm sure a lot of things are missing too.&lt;br /&gt;
--[[User:Http|http]] 15:02, 26 June 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
== Boot-args cleanup ==&lt;br /&gt;
We need to clean up the boot-args pages. First the technical part: What I understand is that iBoot loads the kernel. And when loading it, it can pass some parameters to select certain behavior. So this only works with an iBoot or bootrom exploit. I understand that in earlier firmware versions there was simply an iBoot variable, but that doesn't exist or work anymore, now passing theses args requires a different or patched iBoot. There are various parameters in different kernel versions. The description for these arguments is scattered over various places:&lt;br /&gt;
*[[Kernel#Boot-Args]] A section with the latest boot arguments list. This should be a short introduction and having a link &amp;quot;main article&amp;quot;.&lt;br /&gt;
*[[Boot-args (iBoot variable)]] separate page for boot arguments, but mainly for the iBoot variable that doesn't exist any longer&lt;br /&gt;
*[{{FULLURL:Boot arguments|redirect=no}} Boot arguments] (redirect)&lt;br /&gt;
*[[:Talk:Restore_Mode]] describing the iBoot variable problem&lt;br /&gt;
*Various pages referencing boot-args, like [[Research: Re-allowing unsigned ramdisks and boot-args with the 2.* iBoot]] (here we should have a link on the second title)&lt;br /&gt;
*My earlier comment [[:Talk:Kernel#boot-args]]&lt;br /&gt;
*This comment here.&lt;br /&gt;
So what do we want to do about this mess? I suggest to move the current [[Kernel]] content to the redirect page [[Boot arguments]] (or to another new page, maybe [[boot-args]]). The current content of [[Boot-args (iBoot variable)]] and all other content should get merged into there. Then change all references to this new page and on the [[Kernel]] page write just something short with &amp;quot;main article there&amp;quot;. What do you think? --[[User:Http|http]] ([[User talk:Http|talk]]) 21:31, 13 February 2013 (UTC)&lt;br /&gt;
:I like [[Boot Arguments]]. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 02:01, 14 February 2013 (UTC)&lt;br /&gt;
::One addition: Maybe we should use [[boot-args]] as the main page, because all links are written like that. --[[User:Http|http]] ([[User talk:Http|talk]]) 07:37, 14 February 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== The iPhone Wiki re-design ==&lt;br /&gt;
The design of the iPhone wiki is now quite old and I think it should be updated. I made a [http://oi42.tinypic.com/30ib9y8.jpg concept]. --[[User:Jaggions|Jaggions]] ([[User talk:Jaggions|talk]]) 10:30, 14 June 2013 (UTC)&lt;br /&gt;
:I disagree. If anything add an iPhone 5 to the logo but everything else is ok. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 11:05, 14 June 2013 (UTC)&lt;br /&gt;
:I wouldn't change the logo to an iPhone 5, especially with iOS 7 and a new iPhone (that will probably look the same as the 5, admittedly) around the corner. I contemplated updating the CSS for iOS 7's UI but decided not to because of the UI's supposed volatility (during the beta period) and I don't have a live version to toy around with. (I personally don't like its current state, but that's not a factor in why I'm not changing it yet.) --[[User:Dialexio|&amp;lt;span style=&amp;quot;color:#BA0000; font-weight:normal;&amp;quot;&amp;gt;Dialexio&amp;lt;/span&amp;gt;]] ([[User talk:Dialexio|&amp;lt;span style=&amp;quot;color:#BA0000; font-weight:normal;&amp;quot;&amp;gt;talk&amp;lt;/span&amp;gt;]]) 16:25, 14 June 2013 (UTC)&lt;br /&gt;
::Can we not do flat? --[[User:Haifisch|Haifisch]] ([[User talk:Haifisch|talk]]) 21:02, 14 June 2013 (UTC)&lt;br /&gt;
::This is what I was thinking. When iOS 7 finally comes out, we could change the CSS to look like that instead. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 21:11, 14 June 2013 (UTC)&lt;br /&gt;
:::iOS 7 looks ugly. We do not want it like that. Maybe a bit more modern but nothing much. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 21:16, 14 June 2013 (UTC)&lt;br /&gt;
::::''You'' may not want it like that. That's your opinion. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 01:55, 15 June 2013 (UTC)&lt;br /&gt;
:::::We could make a poll, and see if most users agree or disagree. --[[User:Jaggions|Jaggions]] ([[User talk:Jaggions|talk]]) 10:05, 15 June 2013 (UTC)&lt;br /&gt;
:The idea looks nice. But before we make any changes, let's wait until iOS7 comes out. And I'd prefer to just add another skin instead (if possible). I'm still using the classic MonoBook skin by the way. You shouldn't impose design changes to everyone. --[[User:Http|http]] ([[User talk:Http|talk]]) 14:38, 15 June 2013 (UTC)&lt;br /&gt;
::The problem with skins is that geohot needs to set them up... An idea I have is that we copy the Vector skin verbatim to a new skin (&amp;lt;code&amp;gt;iOS6&amp;lt;/code&amp;gt;) and move the modifications (not general stuff) to [[Mediawiki:iOS6.css]]. Then we can do another verbatim copy to &amp;lt;code&amp;gt;iOS7&amp;lt;/code&amp;gt; and modify [[Mediawiki:iOS7.css]]. We could then set the default skin to either &amp;lt;code&amp;gt;iOS6&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iOS7&amp;lt;/code&amp;gt; so you don't need to be logged in to see them like currently. Then if someone doesn't like them, like you, just change your settings to your preferred skin. The only way around needing geohot is if he opens up the credentials to FTP or whatever to someone. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 21:17, 15 June 2013 (UTC)&lt;br /&gt;
:::I like [[User:5urd|5urd]]'s suggestion. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 22:29, 15 June 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dump page ==&lt;br /&gt;
I have been thinking, should we make [[Dump]] to list [[N88ap/Device Tree]] etc? We seem to have quite a few dumps but it seems silly not to have them all on one page. What do you all think? --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 17:01, 3 July 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Hacker page ==&lt;br /&gt;
I would like to be added to the list of hackers for my work with the Private Dev Team and the [[Chronic Dev Team]] in addition to my release of the Phoenix Semi-Untethered. --[[User:Ph0enix|Ph0enix]] ([[User talk:Ph0enix|talk]]) 18:36, 22 July 2013 (UTC)&lt;br /&gt;
:Did you find any exploits? --[[User:Haifisch|Haifisch]] ([[User talk:Haifisch|talk]]) 18:54, 22 July 2013 (UTC)&lt;br /&gt;
::No. [[User:phyrrus9|phyrrus9]], a team member found the vulnerability. I am the one who exploited it. --[[User:Ph0enix|Ph0enix]] ([[User talk:Ph0enix|talk]])&lt;br /&gt;
:::I can back up this &amp;quot;claim&amp;quot;. I was a part of it. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 20:52, 28 July 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== What beta number was 5A308? ==&lt;br /&gt;
I get the reasoning. Apple released one for enterprise use, then one for standard developer use. However, are we ''sure'' it was 2.0 beta 6? Why would Apple drop the suffix letter from the build on the ''same'' version? In addition, [[wikipedia:iOS SDK#iPhone OS 2.x: SDK|Wikipedia's &amp;quot;iOS SDK&amp;quot;]] reports that it was 2.0 beta ''7'' that received the two builds, ''not'' beta 6. Wrapping it all together:&lt;br /&gt;
 5A292g - 2.0 beta 6&lt;br /&gt;
 5A308  - 2.0 beta ? (Now in the 300s and suffix letter dropped)&lt;br /&gt;
 5A331  - 2.0 beta 7&lt;br /&gt;
The Wikipedia article reports that 5A292g was released May 28. Ok, that's correct [[Firmware Keys#1.x.2F2.x|here]]. Wikipedia also reports that (the supposed two) beta 7 firmware was released June 9. Ok, the wiki is also correct for 5A331. However, we report that 5A308 was released on May 29. Now, either we are wrong, or Wikipedia is wrong. Either way, someone is wrong about the beta number ''and'' release date of 5A308. Anyone know of ''anything'' that can solve this?&amp;lt;br /&amp;gt;&lt;br /&gt;
The [{{FULLURL:Firmware Keys|oldid=271}} very first version of &amp;quot;Firmware Keys&amp;quot;] already lists 5A308 as beta 6. In addition, the revision is dated July 27, so there is no timestamp to help solve this. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 18:05, 17 August 2013 (UTC)&lt;br /&gt;
:I've tried [http://www.google.com/search?q=%22iPhone+OS%22+2+5A308 Google], and of the sites I've looked at, they report as 5A308 being &amp;quot;iPhone '''SDK''' beta 6&amp;quot;, not &amp;quot;iPhone '''OS''' beta 6&amp;quot;. Here are some excerpts from a [http://forums.macrumors.com/showpost.php?p=5519524&amp;amp;postcount=36 MacRumors thread] (emphasis mine):&lt;br /&gt;
 I'm really confused about the 3G rumors relating to iPhone 2.0 '''Beta 6'''. ('''5A308''').&lt;br /&gt;
:Here is the title of one from [http://www.worldofapple.com/archives/2008/05/29/apple-releases-iphone-sdk-beta-6/ World of Apple] (dated May 29) (emphasis mine):&lt;br /&gt;
 Apple Releases iPhone SDK '''Beta 6''', iPhone OS 2.0 '''Build 5A308'''&lt;br /&gt;
:This points in the direction of us being right, but can anyone help confirm this? --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 18:15, 17 August 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Orphaned articles ==&lt;br /&gt;
&lt;br /&gt;
This is an interesting search: [[Special:LonelyPages]] - &amp;quot;The following pages are not linked from or transcluded into other pages in The iPhone Wiki.&amp;quot; I'm not sure where all of those articles should be linked, but figuring that out could be a useful project for somebody. [[User:Britta|Britta]] ([[User talk:Britta|talk]]) 05:57, 28 August 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Key page idea==&lt;br /&gt;
I was wondering if it would be a good idea to make another category for key pages which do not have a complete key listing which has a bootrom exploit? That way, if people know how to get the keys, it would be easy to know which need to be added to. To me, the age does not matter as some people keep beta IPSW's stored no matter the age. Let me know what you all think. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 17:18, 28 August 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Easy tasks for new editors ==&lt;br /&gt;
* Finish converting the remaining error codes listed here http://theiphonewiki.com/wiki/MobileDevice_Library#Known_Error_Codes into the proper mach_return_t codes they should be displayed as. (convert the negative number listed into hex, strip any leading &amp;quot;FF&amp;quot; so it should be in the format &amp;quot;0xe80000&amp;quot; followed by two numbers) --[[User:Dirkg|Dirkg]] ([[User talk:Dirkg|talk]]) 22:40, 28 August 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=The_iPhone_Wiki:Community_portal&amp;diff=34556</id>
		<title>The iPhone Wiki:Community portal</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=The_iPhone_Wiki:Community_portal&amp;diff=34556"/>
		<updated>2013-08-28T22:40:40Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: adding an &amp;quot;easy tasks&amp;quot; list for new editors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk Archive}}&lt;br /&gt;
{{see also|Unsolved problems}}&lt;br /&gt;
== iPhone-Elite ==&lt;br /&gt;
I think we should include all this old stuff before it gets lost: [http://code.google.com/p/iphone-elite/ code.google.com/p/iphone-elite/]. I mean the wiki articles there. Most infos should be already here, but I'm sure a lot of things are missing too.&lt;br /&gt;
--[[User:Http|http]] 15:02, 26 June 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
== Boot-args cleanup ==&lt;br /&gt;
We need to clean up the boot-args pages. First the technical part: What I understand is that iBoot loads the kernel. And when loading it, it can pass some parameters to select certain behavior. So this only works with an iBoot or bootrom exploit. I understand that in earlier firmware versions there was simply an iBoot variable, but that doesn't exist or work anymore, now passing theses args requires a different or patched iBoot. There are various parameters in different kernel versions. The description for these arguments is scattered over various places:&lt;br /&gt;
*[[Kernel#Boot-Args]] A section with the latest boot arguments list. This should be a short introduction and having a link &amp;quot;main article&amp;quot;.&lt;br /&gt;
*[[Boot-args (iBoot variable)]] separate page for boot arguments, but mainly for the iBoot variable that doesn't exist any longer&lt;br /&gt;
*[{{FULLURL:Boot arguments|redirect=no}} Boot arguments] (redirect)&lt;br /&gt;
*[[:Talk:Restore_Mode]] describing the iBoot variable problem&lt;br /&gt;
*Various pages referencing boot-args, like [[Research: Re-allowing unsigned ramdisks and boot-args with the 2.* iBoot]] (here we should have a link on the second title)&lt;br /&gt;
*My earlier comment [[:Talk:Kernel#boot-args]]&lt;br /&gt;
*This comment here.&lt;br /&gt;
So what do we want to do about this mess? I suggest to move the current [[Kernel]] content to the redirect page [[Boot arguments]] (or to another new page, maybe [[boot-args]]). The current content of [[Boot-args (iBoot variable)]] and all other content should get merged into there. Then change all references to this new page and on the [[Kernel]] page write just something short with &amp;quot;main article there&amp;quot;. What do you think? --[[User:Http|http]] ([[User talk:Http|talk]]) 21:31, 13 February 2013 (UTC)&lt;br /&gt;
:I like [[Boot Arguments]]. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 02:01, 14 February 2013 (UTC)&lt;br /&gt;
::One addition: Maybe we should use [[boot-args]] as the main page, because all links are written like that. --[[User:Http|http]] ([[User talk:Http|talk]]) 07:37, 14 February 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== The iPhone Wiki re-design ==&lt;br /&gt;
The design of the iPhone wiki is now quite old and I think it should be updated. I made a [http://oi42.tinypic.com/30ib9y8.jpg concept]. --[[User:Jaggions|Jaggions]] ([[User talk:Jaggions|talk]]) 10:30, 14 June 2013 (UTC)&lt;br /&gt;
:I disagree. If anything add an iPhone 5 to the logo but everything else is ok. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 11:05, 14 June 2013 (UTC)&lt;br /&gt;
:I wouldn't change the logo to an iPhone 5, especially with iOS 7 and a new iPhone (that will probably look the same as the 5, admittedly) around the corner. I contemplated updating the CSS for iOS 7's UI but decided not to because of the UI's supposed volatility (during the beta period) and I don't have a live version to toy around with. (I personally don't like its current state, but that's not a factor in why I'm not changing it yet.) --[[User:Dialexio|&amp;lt;span style=&amp;quot;color:#BA0000; font-weight:normal;&amp;quot;&amp;gt;Dialexio&amp;lt;/span&amp;gt;]] ([[User talk:Dialexio|&amp;lt;span style=&amp;quot;color:#BA0000; font-weight:normal;&amp;quot;&amp;gt;talk&amp;lt;/span&amp;gt;]]) 16:25, 14 June 2013 (UTC)&lt;br /&gt;
::Can we not do flat? --[[User:Haifisch|Haifisch]] ([[User talk:Haifisch|talk]]) 21:02, 14 June 2013 (UTC)&lt;br /&gt;
::This is what I was thinking. When iOS 7 finally comes out, we could change the CSS to look like that instead. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 21:11, 14 June 2013 (UTC)&lt;br /&gt;
:::iOS 7 looks ugly. We do not want it like that. Maybe a bit more modern but nothing much. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 21:16, 14 June 2013 (UTC)&lt;br /&gt;
::::''You'' may not want it like that. That's your opinion. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 01:55, 15 June 2013 (UTC)&lt;br /&gt;
:::::We could make a poll, and see if most users agree or disagree. --[[User:Jaggions|Jaggions]] ([[User talk:Jaggions|talk]]) 10:05, 15 June 2013 (UTC)&lt;br /&gt;
:The idea looks nice. But before we make any changes, let's wait until iOS7 comes out. And I'd prefer to just add another skin instead (if possible). I'm still using the classic MonoBook skin by the way. You shouldn't impose design changes to everyone. --[[User:Http|http]] ([[User talk:Http|talk]]) 14:38, 15 June 2013 (UTC)&lt;br /&gt;
::The problem with skins is that geohot needs to set them up... An idea I have is that we copy the Vector skin verbatim to a new skin (&amp;lt;code&amp;gt;iOS6&amp;lt;/code&amp;gt;) and move the modifications (not general stuff) to [[Mediawiki:iOS6.css]]. Then we can do another verbatim copy to &amp;lt;code&amp;gt;iOS7&amp;lt;/code&amp;gt; and modify [[Mediawiki:iOS7.css]]. We could then set the default skin to either &amp;lt;code&amp;gt;iOS6&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iOS7&amp;lt;/code&amp;gt; so you don't need to be logged in to see them like currently. Then if someone doesn't like them, like you, just change your settings to your preferred skin. The only way around needing geohot is if he opens up the credentials to FTP or whatever to someone. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 21:17, 15 June 2013 (UTC)&lt;br /&gt;
:::I like [[User:5urd|5urd]]'s suggestion. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 22:29, 15 June 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Dump page ==&lt;br /&gt;
I have been thinking, should we make [[Dump]] to list [[N88ap/Device Tree]] etc? We seem to have quite a few dumps but it seems silly not to have them all on one page. What do you all think? --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 17:01, 3 July 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Hacker page ==&lt;br /&gt;
I would like to be added to the list of hackers for my work with the Private Dev Team and the [[Chronic Dev Team]] in addition to my release of the Phoenix Semi-Untethered. --[[User:Ph0enix|Ph0enix]] ([[User talk:Ph0enix|talk]]) 18:36, 22 July 2013 (UTC)&lt;br /&gt;
:Did you find any exploits? --[[User:Haifisch|Haifisch]] ([[User talk:Haifisch|talk]]) 18:54, 22 July 2013 (UTC)&lt;br /&gt;
::No. [[User:phyrrus9|phyrrus9]], a team member found the vulnerability. I am the one who exploited it. --[[User:Ph0enix|Ph0enix]] ([[User talk:Ph0enix|talk]])&lt;br /&gt;
:::I can back up this &amp;quot;claim&amp;quot;. I was a part of it. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 20:52, 28 July 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== What beta number was 5A308? ==&lt;br /&gt;
I get the reasoning. Apple released one for enterprise use, then one for standard developer use. However, are we ''sure'' it was 2.0 beta 6? Why would Apple drop the suffix letter from the build on the ''same'' version? In addition, [[wikipedia:iOS SDK#iPhone OS 2.x: SDK|Wikipedia's &amp;quot;iOS SDK&amp;quot;]] reports that it was 2.0 beta ''7'' that received the two builds, ''not'' beta 6. Wrapping it all together:&lt;br /&gt;
 5A292g - 2.0 beta 6&lt;br /&gt;
 5A308  - 2.0 beta ? (Now in the 300s and suffix letter dropped)&lt;br /&gt;
 5A331  - 2.0 beta 7&lt;br /&gt;
The Wikipedia article reports that 5A292g was released May 28. Ok, that's correct [[Firmware Keys#1.x.2F2.x|here]]. Wikipedia also reports that (the supposed two) beta 7 firmware was released June 9. Ok, the wiki is also correct for 5A331. However, we report that 5A308 was released on May 29. Now, either we are wrong, or Wikipedia is wrong. Either way, someone is wrong about the beta number ''and'' release date of 5A308. Anyone know of ''anything'' that can solve this?&amp;lt;br /&amp;gt;&lt;br /&gt;
The [{{FULLURL:Firmware Keys|oldid=271}} very first version of &amp;quot;Firmware Keys&amp;quot;] already lists 5A308 as beta 6. In addition, the revision is dated July 27, so there is no timestamp to help solve this. --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 18:05, 17 August 2013 (UTC)&lt;br /&gt;
:I've tried [http://www.google.com/search?q=%22iPhone+OS%22+2+5A308 Google], and of the sites I've looked at, they report as 5A308 being &amp;quot;iPhone '''SDK''' beta 6&amp;quot;, not &amp;quot;iPhone '''OS''' beta 6&amp;quot;. Here are some excerpts from a [http://forums.macrumors.com/showpost.php?p=5519524&amp;amp;postcount=36 MacRumors thread] (emphasis mine):&lt;br /&gt;
 I'm really confused about the 3G rumors relating to iPhone 2.0 '''Beta 6'''. ('''5A308''').&lt;br /&gt;
:Here is the title of one from [http://www.worldofapple.com/archives/2008/05/29/apple-releases-iphone-sdk-beta-6/ World of Apple] (dated May 29) (emphasis mine):&lt;br /&gt;
 Apple Releases iPhone SDK '''Beta 6''', iPhone OS 2.0 '''Build 5A308'''&lt;br /&gt;
:This points in the direction of us being right, but can anyone help confirm this? --[[User:5urd|5urd]] ([[User talk:5urd|talk]]) 18:15, 17 August 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Orphaned articles ==&lt;br /&gt;
&lt;br /&gt;
This is an interesting search: [[Special:LonelyPages]] - &amp;quot;The following pages are not linked from or transcluded into other pages in The iPhone Wiki.&amp;quot; I'm not sure where all of those articles should be linked, but figuring that out could be a useful project for somebody. [[User:Britta|Britta]] ([[User talk:Britta|talk]]) 05:57, 28 August 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Key page idea==&lt;br /&gt;
I was wondering if it would be a good idea to make another category for key pages which do not have a complete key listing which has a bootrom exploit? That way, if people know how to get the keys, it would be easy to know which need to be added to. To me, the age does not matter as some people keep beta IPSW's stored no matter the age. Let me know what you all think. --[[User:IAdam1n|iAdam1n]] ([[User talk:IAdam1n|talk]]) 17:18, 28 August 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Easy tasks for new editors ==&lt;br /&gt;
* Finish converting the remaining error codes listed here http://theiphonewiki.com/wiki/MobileDevice_Library#Known_Error_Codes into the proper mach_return_t codes they should be displayed as. --[[User:Dirkg|Dirkg]] ([[User talk:Dirkg|talk]]) 22:40, 28 August 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=MobileDevice_Library&amp;diff=34092</id>
		<title>MobileDevice Library</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=MobileDevice_Library&amp;diff=34092"/>
		<updated>2013-08-17T00:42:30Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: Removed old and incorrect information. (any missing info that would liked to be added back should be reviewed first)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{float toc|right}}&lt;br /&gt;
MobileDevice Library is used by [[iTunes]] to transfer data between iPhone and computer over both USB and WiFi connections.&lt;br /&gt;
&lt;br /&gt;
=== PC Windows: iTunesMobileDevice.dll ===&lt;br /&gt;
* Location: &amp;lt;code&amp;gt;C:\Program Files\Common Files\Apple\Mobile Device Support\iTunesMobileDevice.dll&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;Program Files (x86)&amp;lt;/code&amp;gt; on 64-bit)&lt;br /&gt;
* Supporting CoreFoundation.dll (used for CFStringRef, CFPropertyListRef management) is located in the same dir (when using [[iTunes]] prior 9.0). &lt;br /&gt;
* For [[iTunes]] 9.0, the location of CoreFoundation.dll is stored in '''InstallDir''' registry value under '''HKLM\SOFTWARE\Apple Inc.\Apple Application Support''' registry key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X: MobileDevice.framework ===&lt;br /&gt;
* Location: /System/Library/PrivateFrameworks/MobileDevice.framework&lt;br /&gt;
* Export command: &amp;lt;code&amp;gt;nm /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Library Interfaces ===&lt;br /&gt;
* [http://www.libimobiledevice.org/ libimobiledevice] (provides the same functionality on GNU/Linux)&lt;br /&gt;
* [https://github.com/samdmarshall/SDMMobileDevice SDMMobileDevice] (a framework that can be used interchangeably with Apple's private framework MobileDevice.framework)&lt;br /&gt;
* [http://samdmarshall.com/media/MobileDevice.h MobileDevice.h] (old reverse engineered header for interfacing with MobileDevice library)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Private Functions ===&lt;br /&gt;
&lt;br /&gt;
==== Obtaining address ====&lt;br /&gt;
In order to obtain the address of a usable private function in MobileDevice, you will have to be able to understand x86-64 assembly to reverse engineer it. These methods differ slightly based on platform due to how dynamically linked libraries handle position independent code.&lt;br /&gt;
&lt;br /&gt;
=====Mac OS X (MobileDevice.framework)=====&lt;br /&gt;
A private function is not marked as exported in the mach-o symbol table. This means it cannot be called by simply linking against the library. To call unexported functions, the mach-o symbol table must be stepped through manually to find the offset of a particular function call. Calls can be verified by checking against the offset of the name inside the name table.&lt;br /&gt;
&lt;br /&gt;
=====Windows (MobileDevice.dll)=====&lt;br /&gt;
Unlike OS X's dynamically linkable libraries, Windows dynamic libraries do not support position independent code in the same manner. A private function will not have its name in the exported symbol table, so in a debugger, like GDB, it will show up as part of another function. However, you will know that it is a separate function as a new stack frame is set up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Known Error Codes ===&lt;br /&gt;
* kAMDSuccess = 0x0&lt;br /&gt;
* kAMDUndefinedError = 0xe8000001&lt;br /&gt;
* kAMDBadHeaderError = 0xe8000002&lt;br /&gt;
* kAMDNoResourcesError = 0xe8000003&lt;br /&gt;
* kAMDReadError = 0xe8000004&lt;br /&gt;
* kAMDWriteError = 0xe8000005&lt;br /&gt;
* kAMDUnknownPacketError = 0xe8000006&lt;br /&gt;
* kAMDInvalidArgumentError = 0xe8000007&lt;br /&gt;
* kAMDNotFoundError = 0xe8000008&lt;br /&gt;
* kAMDIsDirectoryError = 0xe8000009&lt;br /&gt;
* kAMDPermissionError = 0xe800000a&lt;br /&gt;
* kAMDNotConnectedError = 0xe800000b&lt;br /&gt;
* kAMDTimeOutError = 0xe800000c&lt;br /&gt;
* kAMDOverrunError = 0xe800000d&lt;br /&gt;
* kAMDEOFError = 0xe800000e&lt;br /&gt;
* kAMDUnsupportedError = 0xe800000f&lt;br /&gt;
* kAMDFileExistsError = 0xe8000010&lt;br /&gt;
* kAMDBusyError = 0xe8000011&lt;br /&gt;
* kAMDCryptoError = 0xe8000012&lt;br /&gt;
* kAMDInvalidResponseError = 0xe8000013&lt;br /&gt;
* kAMDMissingKeyError = 0xe8000014&lt;br /&gt;
* kAMDMissingValueError = 0xe8000015&lt;br /&gt;
* kAMDGetProhibitedError = 0xe8000016&lt;br /&gt;
* kAMDSetProhibitedError = 0xe8000017&lt;br /&gt;
* kAMDRemoveProhibitedError = 0xe8000018&lt;br /&gt;
* kAMDImmutableValueError = 0xe8000019&lt;br /&gt;
* kAMDPasswordProtectedError = 0xe800001a&lt;br /&gt;
* kAMDMissingHostIDError = 0xe800001b&lt;br /&gt;
* kAMDInvalidHostIDError = 0xe800001c&lt;br /&gt;
* kAMDSessionActiveError = 0xe800001d&lt;br /&gt;
* kAMDSessionInactiveError = 0xe800001e&lt;br /&gt;
* kAMDMissingSessionIDError = 0xe800001f&lt;br /&gt;
* kAMDInvalidSessionIDError = 0xe8000020&lt;br /&gt;
* kAMDMissingServiceError = 0xe8000021&lt;br /&gt;
* kAMDInvalidServiceError = 0xe8000022&lt;br /&gt;
* kAMDInvalidCheckinError = 0xe8000023&lt;br /&gt;
* kAMDCheckinTimeoutError = 0xe8000024&lt;br /&gt;
* kAMDMissingPairRecordError = 0xe8000025&lt;br /&gt;
* kAMDInvalidActivationRecordError = -402653146&lt;br /&gt;
* kAMDMissingActivationRecordError = -402653145&lt;br /&gt;
* kAMDWrongDroidError = -402653144&lt;br /&gt;
* kAMDSUVerificationError = -402653143&lt;br /&gt;
* kAMDSUPatchError = -402653142&lt;br /&gt;
* kAMDSUFirmwareError = -402653141&lt;br /&gt;
* kAMDProvisioningProfileNotValid = -402653140&lt;br /&gt;
* kAMDSendMessageError = -402653139&lt;br /&gt;
* kAMDReceiveMessageError = -402653138&lt;br /&gt;
* kAMDMissingOptionsError = -402653137&lt;br /&gt;
* kAMDMissingImageTypeError = -402653136&lt;br /&gt;
* kAMDDigestFailedError = -402653135&lt;br /&gt;
* kAMDStartServiceError = -402653134&lt;br /&gt;
* kAMDInvalidDiskImageError = -402653133&lt;br /&gt;
* kAMDMissingDigestError = -402653132&lt;br /&gt;
* kAMDMuxError = -402653131&lt;br /&gt;
* kAMDApplicationAlreadyInstalledError = -402653130&lt;br /&gt;
* kAMDApplicationMoveFailedError = -402653129&lt;br /&gt;
* kAMDApplicationSINFCaptureFailedError = -402653128&lt;br /&gt;
* kAMDApplicationSandboxFailedError = -402653127&lt;br /&gt;
* kAMDApplicationVerificationFailedError = -402653126&lt;br /&gt;
* kAMDArchiveDestructionFailedError = -402653125&lt;br /&gt;
* kAMDBundleVerificationFailedError = -402653124&lt;br /&gt;
* kAMDCarrierBundleCopyFailedError = -402653123&lt;br /&gt;
* kAMDCarrierBundleDirectoryCreationFailedError = -402653122&lt;br /&gt;
* kAMDCarrierBundleMissingSupportedSIMsError = -402653121&lt;br /&gt;
* kAMDCommCenterNotificationFailedError = -402653120&lt;br /&gt;
* kAMDContainerCreationFailedError = -402653119&lt;br /&gt;
* kAMDContainerP0wnFailedError = -402653118&lt;br /&gt;
* kAMDContainerRemovalFailedError = -402653117&lt;br /&gt;
* kAMDEmbeddedProfileInstallFailedError = -402653116&lt;br /&gt;
* kAMDErrorError = -402653115&lt;br /&gt;
* kAMDExecutableTwiddleFailedError = -402653114&lt;br /&gt;
* kAMDExistenceCheckFailedError = -402653113&lt;br /&gt;
* kAMDInstallMapUpdateFailedError = -402653112&lt;br /&gt;
* kAMDManifestCaptureFailedError = -402653111&lt;br /&gt;
* kAMDMapGenerationFailedError = -402653110&lt;br /&gt;
* kAMDMissingBundleExecutableError = -402653109&lt;br /&gt;
* kAMDMissingBundleIdentifierError = -402653108&lt;br /&gt;
* kAMDMissingBundlePathError = -402653107&lt;br /&gt;
* kAMDMissingContainerError = -402653106&lt;br /&gt;
* kAMDNotificationFailedError = -402653105&lt;br /&gt;
* kAMDPackageExtractionFailedError = -402653104&lt;br /&gt;
* kAMDPackageInspectionFailedError = -402653103&lt;br /&gt;
* kAMDPackageMoveFailedError = -402653102&lt;br /&gt;
* kAMDPathConversionFailedError = -402653101&lt;br /&gt;
* kAMDRestoreContainerFailedError = -402653100&lt;br /&gt;
* kAMDSeatbeltProfileRemovalFailedError = -402653099&lt;br /&gt;
* kAMDStageCreationFailedError = -402653098&lt;br /&gt;
* kAMDSymlinkFailedError = -402653097&lt;br /&gt;
* kAMDiTunesArtworkCaptureFailedError = -402653096&lt;br /&gt;
* kAMDiTunesMetadataCaptureFailedError = -402653095&lt;br /&gt;
* kAMDAlreadyArchivedError = -402653094&lt;br /&gt;
* kAMDProhibitedBySupervision = -402653053&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Dirkg&amp;diff=34090</id>
		<title>User:Dirkg</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Dirkg&amp;diff=34090"/>
		<updated>2013-08-17T00:35:17Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reverse engineer and system internals coder.&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
* Twitter: @dirk_gently&lt;br /&gt;
* App.net: @sdm&lt;br /&gt;
* Email: me@samdmarshall.com&lt;br /&gt;
* GitHub: https://github.com/samdmarshall&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Dirkg&amp;diff=34088</id>
		<title>User:Dirkg</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Dirkg&amp;diff=34088"/>
		<updated>2013-08-17T00:34:37Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: Created page with &amp;quot;Reverse engineer and system internals coder.  Contact: Twitter: @dirk_gently App.net: @sdm Email: me@samdmarshall.com GitHub: https://github.com/samdmarshall&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reverse engineer and system internals coder.&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
Twitter: @dirk_gently&lt;br /&gt;
App.net: @sdm&lt;br /&gt;
Email: me@samdmarshall.com&lt;br /&gt;
GitHub: https://github.com/samdmarshall&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=MobileDevice_Library&amp;diff=34086</id>
		<title>MobileDevice Library</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=MobileDevice_Library&amp;diff=34086"/>
		<updated>2013-08-17T00:26:16Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{float toc|right}}&lt;br /&gt;
MobileDevice Library is used by [[iTunes]] to transfer data between iPhone and computer over both USB and WiFi connections.&lt;br /&gt;
&lt;br /&gt;
=== PC Windows: iTunesMobileDevice.dll ===&lt;br /&gt;
* Location: &amp;lt;code&amp;gt;C:\Program Files\Common Files\Apple\Mobile Device Support\iTunesMobileDevice.dll&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;Program Files (x86)&amp;lt;/code&amp;gt; on 64-bit)&lt;br /&gt;
* Supporting CoreFoundation.dll (used for CFStringRef, CFPropertyListRef management) is located in the same dir (when using [[iTunes]] prior 9.0). &lt;br /&gt;
* For [[iTunes]] 9.0, the location of CoreFoundation.dll is stored in '''InstallDir''' registry value under '''HKLM\SOFTWARE\Apple Inc.\Apple Application Support''' registry key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X: MobileDevice.framework ===&lt;br /&gt;
* Location: /System/Library/PrivateFrameworks/MobileDevice.framework&lt;br /&gt;
* Export command: &amp;lt;code&amp;gt;nm /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Library Interfaces ===&lt;br /&gt;
* [http://www.libimobiledevice.org/ libimobiledevice] (provides the same functionality on GNU/Linux)&lt;br /&gt;
* [https://github.com/samdmarshall/SDMMobileDevice SDMMobileDevice] (a framework that can be used interchangeably with Apple's private framework MobileDevice.framework)&lt;br /&gt;
* [http://samdmarshall.com/media/MobileDevice.h MobileDevice.h] (old reverse engineered header for interfacing with MobileDevice library)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Private Functions ===&lt;br /&gt;
==== Obtaining address ====&lt;br /&gt;
In order to obtain the address of a usable private function in MobileDevice, you will have to be able to understand x86-64 assembly to reverse engineer it. These methods differ slightly based on platform due to how dynamically linked libraries handle position independent code.&lt;br /&gt;
=====Mac OS X (MobileDevice.framework)=====&lt;br /&gt;
A private function is not marked as exported in the mach-o symbol table. This means it cannot be called by simply linking against the library. To call unexported functions, the mach-o symbol table must be stepped through manually to find the offset of a particular function call. Calls can be verified by checking against the offset of the name inside the name table.&lt;br /&gt;
=====Windows (MobileDevice.dll)=====&lt;br /&gt;
Unlike OS X's dynamically linkable libraries, Windows dynamic libraries do not support position independent code in the same manner. A private function will not have its name in the exported symbol table, so in a debugger, like GDB, it will show up as part of another function. However, you will know that it is a separate function as a new stack frame is set up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Known Error Codes ===&lt;br /&gt;
* kAMDSuccess = 0x0&lt;br /&gt;
* kAMDUndefinedError = 0xe8000001&lt;br /&gt;
* kAMDBadHeaderError = 0xe8000002&lt;br /&gt;
* kAMDNoResourcesError = 0xe8000003&lt;br /&gt;
* kAMDReadError = 0xe8000004&lt;br /&gt;
* kAMDWriteError = 0xe8000005&lt;br /&gt;
* kAMDUnknownPacketError = 0xe8000006&lt;br /&gt;
* kAMDInvalidArgumentError = 0xe8000007&lt;br /&gt;
* kAMDNotFoundError = 0xe8000008&lt;br /&gt;
* kAMDIsDirectoryError = 0xe8000009&lt;br /&gt;
* kAMDPermissionError = 0xe800000a&lt;br /&gt;
* kAMDNotConnectedError = 0xe800000b&lt;br /&gt;
* kAMDTimeOutError = 0xe800000c&lt;br /&gt;
* kAMDOverrunError = 0xe800000d&lt;br /&gt;
* kAMDEOFError = 0xe800000e&lt;br /&gt;
* kAMDUnsupportedError = 0xe800000f&lt;br /&gt;
* kAMDFileExistsError = 0xe8000010&lt;br /&gt;
* kAMDBusyError = 0xe8000011&lt;br /&gt;
* kAMDCryptoError = 0xe8000012&lt;br /&gt;
* kAMDInvalidResponseError = 0xe8000013&lt;br /&gt;
* kAMDMissingKeyError = 0xe8000014&lt;br /&gt;
* kAMDMissingValueError = 0xe8000015&lt;br /&gt;
* kAMDGetProhibitedError = 0xe8000016&lt;br /&gt;
* kAMDSetProhibitedError = 0xe8000017&lt;br /&gt;
* kAMDRemoveProhibitedError = 0xe8000018&lt;br /&gt;
* kAMDImmutableValueError = 0xe8000019&lt;br /&gt;
* kAMDPasswordProtectedError = 0xe800001a&lt;br /&gt;
* kAMDMissingHostIDError = 0xe800001b&lt;br /&gt;
* kAMDInvalidHostIDError = 0xe800001c&lt;br /&gt;
* kAMDSessionActiveError = 0xe800001d&lt;br /&gt;
* kAMDSessionInactiveError = 0xe800001e&lt;br /&gt;
* kAMDMissingSessionIDError = 0xe800001f&lt;br /&gt;
* kAMDInvalidSessionIDError = 0xe8000020&lt;br /&gt;
* kAMDMissingServiceError = 0xe8000021&lt;br /&gt;
* kAMDInvalidServiceError = 0xe8000022&lt;br /&gt;
* kAMDInvalidCheckinError = 0xe8000023&lt;br /&gt;
* kAMDCheckinTimeoutError = 0xe8000024&lt;br /&gt;
* kAMDMissingPairRecordError = 0xe8000025&lt;br /&gt;
* kAMDInvalidActivationRecordError = -402653146&lt;br /&gt;
* kAMDMissingActivationRecordError = -402653145&lt;br /&gt;
* kAMDWrongDroidError = -402653144&lt;br /&gt;
* kAMDSUVerificationError = -402653143&lt;br /&gt;
* kAMDSUPatchError = -402653142&lt;br /&gt;
* kAMDSUFirmwareError = -402653141&lt;br /&gt;
* kAMDProvisioningProfileNotValid = -402653140&lt;br /&gt;
* kAMDSendMessageError = -402653139&lt;br /&gt;
* kAMDReceiveMessageError = -402653138&lt;br /&gt;
* kAMDMissingOptionsError = -402653137&lt;br /&gt;
* kAMDMissingImageTypeError = -402653136&lt;br /&gt;
* kAMDDigestFailedError = -402653135&lt;br /&gt;
* kAMDStartServiceError = -402653134&lt;br /&gt;
* kAMDInvalidDiskImageError = -402653133&lt;br /&gt;
* kAMDMissingDigestError = -402653132&lt;br /&gt;
* kAMDMuxError = -402653131&lt;br /&gt;
* kAMDApplicationAlreadyInstalledError = -402653130&lt;br /&gt;
* kAMDApplicationMoveFailedError = -402653129&lt;br /&gt;
* kAMDApplicationSINFCaptureFailedError = -402653128&lt;br /&gt;
* kAMDApplicationSandboxFailedError = -402653127&lt;br /&gt;
* kAMDApplicationVerificationFailedError = -402653126&lt;br /&gt;
* kAMDArchiveDestructionFailedError = -402653125&lt;br /&gt;
* kAMDBundleVerificationFailedError = -402653124&lt;br /&gt;
* kAMDCarrierBundleCopyFailedError = -402653123&lt;br /&gt;
* kAMDCarrierBundleDirectoryCreationFailedError = -402653122&lt;br /&gt;
* kAMDCarrierBundleMissingSupportedSIMsError = -402653121&lt;br /&gt;
* kAMDCommCenterNotificationFailedError = -402653120&lt;br /&gt;
* kAMDContainerCreationFailedError = -402653119&lt;br /&gt;
* kAMDContainerP0wnFailedError = -402653118&lt;br /&gt;
* kAMDContainerRemovalFailedError = -402653117&lt;br /&gt;
* kAMDEmbeddedProfileInstallFailedError = -402653116&lt;br /&gt;
* kAMDErrorError = -402653115&lt;br /&gt;
* kAMDExecutableTwiddleFailedError = -402653114&lt;br /&gt;
* kAMDExistenceCheckFailedError = -402653113&lt;br /&gt;
* kAMDInstallMapUpdateFailedError = -402653112&lt;br /&gt;
* kAMDManifestCaptureFailedError = -402653111&lt;br /&gt;
* kAMDMapGenerationFailedError = -402653110&lt;br /&gt;
* kAMDMissingBundleExecutableError = -402653109&lt;br /&gt;
* kAMDMissingBundleIdentifierError = -402653108&lt;br /&gt;
* kAMDMissingBundlePathError = -402653107&lt;br /&gt;
* kAMDMissingContainerError = -402653106&lt;br /&gt;
* kAMDNotificationFailedError = -402653105&lt;br /&gt;
* kAMDPackageExtractionFailedError = -402653104&lt;br /&gt;
* kAMDPackageInspectionFailedError = -402653103&lt;br /&gt;
* kAMDPackageMoveFailedError = -402653102&lt;br /&gt;
* kAMDPathConversionFailedError = -402653101&lt;br /&gt;
* kAMDRestoreContainerFailedError = -402653100&lt;br /&gt;
* kAMDSeatbeltProfileRemovalFailedError = -402653099&lt;br /&gt;
* kAMDStageCreationFailedError = -402653098&lt;br /&gt;
* kAMDSymlinkFailedError = -402653097&lt;br /&gt;
* kAMDiTunesArtworkCaptureFailedError = -402653096&lt;br /&gt;
* kAMDiTunesMetadataCaptureFailedError = -402653095&lt;br /&gt;
* kAMDAlreadyArchivedError = -402653094&lt;br /&gt;
* kAMDProhibitedBySupervision = -402653053&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=MobileDevice_Library&amp;diff=34085</id>
		<title>MobileDevice Library</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=MobileDevice_Library&amp;diff=34085"/>
		<updated>2013-08-17T00:25:08Z</updated>

		<summary type="html">&lt;p&gt;Dirkg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{float toc|right}}&lt;br /&gt;
MobileDevice Library is used by [[iTunes]] to transfer data between iPhone and computer over both USB and WiFi connections.&lt;br /&gt;
&lt;br /&gt;
=== PC Windows: iTunesMobileDevice.dll ===&lt;br /&gt;
* Location: &amp;lt;code&amp;gt;C:\Program Files\Common Files\Apple\Mobile Device Support\iTunesMobileDevice.dll&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;Program Files (x86)&amp;lt;/code&amp;gt; on 64-bit)&lt;br /&gt;
* Supporting CoreFoundation.dll (used for CFStringRef, CFPropertyListRef management) is located in the same dir (when using [[iTunes]] prior 9.0). &lt;br /&gt;
* For [[iTunes]] 9.0, the location of CoreFoundation.dll is stored in '''InstallDir''' registry value under '''HKLM\SOFTWARE\Apple Inc.\Apple Application Support''' registry key.&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X: MobileDevice.framework ===&lt;br /&gt;
* Location: /System/Library/PrivateFrameworks/MobileDevice.framework&lt;br /&gt;
* Export command: &amp;lt;code&amp;gt;nm /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Libraries Implementations ===&lt;br /&gt;
* [http://www.libimobiledevice.org/ libimobiledevice] (provides the same functionality on GNU/Linux)&lt;br /&gt;
* [https://github.com/samdmarshall/SDMMobileDevice SDMMobileDevice] (a framework that can be used interchangeably with Apple's private framework MobileDevice.framework)&lt;br /&gt;
* [http://samdmarshall.com/media/MobileDevice.h MobileDevice.h] (old reverse engineered header for interfacing with MobileDevice library)&lt;br /&gt;
&lt;br /&gt;
=== Private Functions ===&lt;br /&gt;
==== Obtaining address ====&lt;br /&gt;
In order to obtain the address of a usable private function in MobileDevice, you will have to be able to understand x86-64 assembly to reverse engineer it. These methods differ slightly based on platform due to how dynamically linked libraries handle position independent code.&lt;br /&gt;
=====Mac OS X (MobileDevice.framework)=====&lt;br /&gt;
A private function is not marked as exported in the mach-o symbol table. This means it cannot be called by simply linking against the library. To call unexported functions, the mach-o symbol table must be stepped through manually to find the offset of a particular function call. Calls can be verified by checking against the offset of the name inside the name table.&lt;br /&gt;
=====Windows (MobileDevice.dll)=====&lt;br /&gt;
Unlike OS X's dynamically linkable libraries, Windows dynamic libraries do not support position independent code in the same manner. A private function will not have its name in the exported symbol table, so in a debugger, like GDB, it will show up as part of another function. However, you will know that it is a separate function as a new stack frame is set up.&lt;br /&gt;
&lt;br /&gt;
=== Known Error Codes ===&lt;br /&gt;
* kAMDSuccess = 0x0&lt;br /&gt;
* kAMDUndefinedError = 0xe8000001&lt;br /&gt;
* kAMDBadHeaderError = 0xe8000002&lt;br /&gt;
* kAMDNoResourcesError = 0xe8000003&lt;br /&gt;
* kAMDReadError = 0xe8000004&lt;br /&gt;
* kAMDWriteError = 0xe8000005&lt;br /&gt;
* kAMDUnknownPacketError = 0xe8000006&lt;br /&gt;
* kAMDInvalidArgumentError = 0xe8000007&lt;br /&gt;
* kAMDNotFoundError = 0xe8000008&lt;br /&gt;
* kAMDIsDirectoryError = 0xe8000009&lt;br /&gt;
* kAMDPermissionError = 0xe800000a&lt;br /&gt;
* kAMDNotConnectedError = 0xe800000b&lt;br /&gt;
* kAMDTimeOutError = 0xe800000c&lt;br /&gt;
* kAMDOverrunError = 0xe800000d&lt;br /&gt;
* kAMDEOFError = 0xe800000e&lt;br /&gt;
* kAMDUnsupportedError = 0xe800000f&lt;br /&gt;
* kAMDFileExistsError = 0xe8000010&lt;br /&gt;
* kAMDBusyError = 0xe8000011&lt;br /&gt;
* kAMDCryptoError = 0xe8000012&lt;br /&gt;
* kAMDInvalidResponseError = 0xe8000013&lt;br /&gt;
* kAMDMissingKeyError = 0xe8000014&lt;br /&gt;
* kAMDMissingValueError = 0xe8000015&lt;br /&gt;
* kAMDGetProhibitedError = 0xe8000016&lt;br /&gt;
* kAMDSetProhibitedError = 0xe8000017&lt;br /&gt;
* kAMDRemoveProhibitedError = 0xe8000018&lt;br /&gt;
* kAMDImmutableValueError = 0xe8000019&lt;br /&gt;
* kAMDPasswordProtectedError = 0xe800001a&lt;br /&gt;
* kAMDMissingHostIDError = 0xe800001b&lt;br /&gt;
* kAMDInvalidHostIDError = 0xe800001c&lt;br /&gt;
* kAMDSessionActiveError = 0xe800001d&lt;br /&gt;
* kAMDSessionInactiveError = 0xe800001e&lt;br /&gt;
* kAMDMissingSessionIDError = 0xe800001f&lt;br /&gt;
* kAMDInvalidSessionIDError = 0xe8000020&lt;br /&gt;
* kAMDMissingServiceError = 0xe8000021&lt;br /&gt;
* kAMDInvalidServiceError = 0xe8000022&lt;br /&gt;
* kAMDInvalidCheckinError = 0xe8000023&lt;br /&gt;
* kAMDCheckinTimeoutError = 0xe8000024&lt;br /&gt;
* kAMDMissingPairRecordError = 0xe8000025&lt;br /&gt;
* kAMDInvalidActivationRecordError = -402653146&lt;br /&gt;
* kAMDMissingActivationRecordError = -402653145&lt;br /&gt;
* kAMDWrongDroidError = -402653144&lt;br /&gt;
* kAMDSUVerificationError = -402653143&lt;br /&gt;
* kAMDSUPatchError = -402653142&lt;br /&gt;
* kAMDSUFirmwareError = -402653141&lt;br /&gt;
* kAMDProvisioningProfileNotValid = -402653140&lt;br /&gt;
* kAMDSendMessageError = -402653139&lt;br /&gt;
* kAMDReceiveMessageError = -402653138&lt;br /&gt;
* kAMDMissingOptionsError = -402653137&lt;br /&gt;
* kAMDMissingImageTypeError = -402653136&lt;br /&gt;
* kAMDDigestFailedError = -402653135&lt;br /&gt;
* kAMDStartServiceError = -402653134&lt;br /&gt;
* kAMDInvalidDiskImageError = -402653133&lt;br /&gt;
* kAMDMissingDigestError = -402653132&lt;br /&gt;
* kAMDMuxError = -402653131&lt;br /&gt;
* kAMDApplicationAlreadyInstalledError = -402653130&lt;br /&gt;
* kAMDApplicationMoveFailedError = -402653129&lt;br /&gt;
* kAMDApplicationSINFCaptureFailedError = -402653128&lt;br /&gt;
* kAMDApplicationSandboxFailedError = -402653127&lt;br /&gt;
* kAMDApplicationVerificationFailedError = -402653126&lt;br /&gt;
* kAMDArchiveDestructionFailedError = -402653125&lt;br /&gt;
* kAMDBundleVerificationFailedError = -402653124&lt;br /&gt;
* kAMDCarrierBundleCopyFailedError = -402653123&lt;br /&gt;
* kAMDCarrierBundleDirectoryCreationFailedError = -402653122&lt;br /&gt;
* kAMDCarrierBundleMissingSupportedSIMsError = -402653121&lt;br /&gt;
* kAMDCommCenterNotificationFailedError = -402653120&lt;br /&gt;
* kAMDContainerCreationFailedError = -402653119&lt;br /&gt;
* kAMDContainerP0wnFailedError = -402653118&lt;br /&gt;
* kAMDContainerRemovalFailedError = -402653117&lt;br /&gt;
* kAMDEmbeddedProfileInstallFailedError = -402653116&lt;br /&gt;
* kAMDErrorError = -402653115&lt;br /&gt;
* kAMDExecutableTwiddleFailedError = -402653114&lt;br /&gt;
* kAMDExistenceCheckFailedError = -402653113&lt;br /&gt;
* kAMDInstallMapUpdateFailedError = -402653112&lt;br /&gt;
* kAMDManifestCaptureFailedError = -402653111&lt;br /&gt;
* kAMDMapGenerationFailedError = -402653110&lt;br /&gt;
* kAMDMissingBundleExecutableError = -402653109&lt;br /&gt;
* kAMDMissingBundleIdentifierError = -402653108&lt;br /&gt;
* kAMDMissingBundlePathError = -402653107&lt;br /&gt;
* kAMDMissingContainerError = -402653106&lt;br /&gt;
* kAMDNotificationFailedError = -402653105&lt;br /&gt;
* kAMDPackageExtractionFailedError = -402653104&lt;br /&gt;
* kAMDPackageInspectionFailedError = -402653103&lt;br /&gt;
* kAMDPackageMoveFailedError = -402653102&lt;br /&gt;
* kAMDPathConversionFailedError = -402653101&lt;br /&gt;
* kAMDRestoreContainerFailedError = -402653100&lt;br /&gt;
* kAMDSeatbeltProfileRemovalFailedError = -402653099&lt;br /&gt;
* kAMDStageCreationFailedError = -402653098&lt;br /&gt;
* kAMDSymlinkFailedError = -402653097&lt;br /&gt;
* kAMDiTunesArtworkCaptureFailedError = -402653096&lt;br /&gt;
* kAMDiTunesMetadataCaptureFailedError = -402653095&lt;br /&gt;
* kAMDAlreadyArchivedError = -402653094&lt;br /&gt;
* kAMDProhibitedBySupervision = -402653053&lt;/div&gt;</summary>
		<author><name>Dirkg</name></author>
		
	</entry>
</feed>