<?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=Tempelorg</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=Tempelorg"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Tempelorg"/>
	<updated>2026-06-09T19:50:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bugging_Debuggers&amp;diff=18619</id>
		<title>Bugging Debuggers</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bugging_Debuggers&amp;diff=18619"/>
		<updated>2011-06-23T13:46:25Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: Yay, just learned to avoid using &amp;quot;here&amp;quot; in links. Thanks!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Background:&lt;br /&gt;
&lt;br /&gt;
On jailbroken iOS devices crackers have made it possible to remove the DRM from sold applications so that they can be copied to any device without having to pay for them.&lt;br /&gt;
&lt;br /&gt;
As explained in [[Copy Protection Overview]], apps protected by DRM are encrypted, making it usually impossible to transfer and run them on other devices.&lt;br /&gt;
&lt;br /&gt;
On of the methods used by crackers is to let the application run in a debugger (gdb) and then save the then unencrypted app image to disk.&lt;br /&gt;
&lt;br /&gt;
This page explains how to foil this method.&lt;br /&gt;
&lt;br /&gt;
== The ptrace() Trick ==&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE: This trick has been worked around by pirates. Don't rely on it!'''&lt;br /&gt;
&lt;br /&gt;
GDB is the stock debugger used by most hackers. On darwin (OSX and iPhone OS), GDB will not attach to processes that have asked not to be attached to. Instead, it will crash or crash the target process. This is useful for defeating Crackulous and most tutorial-followers.&lt;br /&gt;
&lt;br /&gt;
On OSX, one would need the following piece of code, as close as possible to the start of main().&lt;br /&gt;
&lt;br /&gt;
 ptrace(PT_DENY_ATTACH, 0, 0, 0);&lt;br /&gt;
&lt;br /&gt;
A couple of includes are also in order:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;sys/ptrace.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the iPhone, however, &amp;lt;sys/ptrace.h&amp;gt; is not available. Fortunately, that can be worked around:&lt;br /&gt;
&lt;br /&gt;
 #import &amp;lt;dlfcn.h&amp;gt;&lt;br /&gt;
 #import &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);&lt;br /&gt;
 #if !defined(PT_DENY_ATTACH)&lt;br /&gt;
 #define PT_DENY_ATTACH 31&lt;br /&gt;
 #endif  // !defined(PT_DENY_ATTACH)&lt;br /&gt;
 &lt;br /&gt;
 void disable_gdb() {&lt;br /&gt;
   void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);&lt;br /&gt;
   ptrace_ptr_t ptrace_ptr = dlsym(handle, &amp;quot;ptrace&amp;quot;);&lt;br /&gt;
   ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);&lt;br /&gt;
   dlclose(handle);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The following are needed to complete the code, and are left as an exercise for the reader:&lt;br /&gt;
* disable_gdb() should return for debug builds (hint: preprocessor macros)&lt;br /&gt;
* the string &amp;quot;ptrace&amp;quot; is a dead giveaway, and should probably be obfuscated a bit&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:5urd&amp;diff=18618</id>
		<title>User talk:5urd</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:5urd&amp;diff=18618"/>
		<updated>2011-06-23T13:45:32Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: /* Rephrase */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Pictures==&lt;br /&gt;
And for the new pictures for the stub pages, you probably just copied them from somewhere on the Internet. Please draw your own images instead of stealing it from somewhere. I'll delete them otherwise. We cannot have the official Apple logo just as a mark for general Apple issues. We might be able to use official product photos or the Apple logo on a page describing Apple, but nothing else. Treat images the same way as software. The jailbreak image probably comes from a scammers page, but it's still not yours, even if they do bad things. [[User:geohot|Geohot]] has enough trouble right now, so don't add copyrighted material to this wiki. I'll delete the images tomorrow if you haven't replaced them by then. Thanks. --[[User:Http|http]] 17:23, 19 February 2011 (UTC)&lt;br /&gt;
:Ok, i'll replace the copywrited images with Public domain. --[[User:Balloonhead66|Balloonhead66]] 17:31, 19 February 2011 (UTC)&lt;br /&gt;
::Thanks. (I had to laugh when I saw your new Apple!) --[[User:Http|http]] 17:39, 19 February 2011 (UTC)&lt;br /&gt;
:::Images:&lt;br /&gt;
::::[[:Image:Android logo.png|Android logo.png]] - public domain, kept [[commons:File:Android_robot.svg|On Commons]]&lt;br /&gt;
::::[[:Image:Generic iPhone.png|Generic iPhone.png]] - public domain, kept [[commons:File:iPhone.svg|On Commons]]&lt;br /&gt;
::::[[:Image:Apple-logo.png|Apple-logo.png]] - logo, copyrited, replaced with [[commons:File:Apple Mac.png|Apple Mac.png from Commons]]&lt;br /&gt;
::::[[:Image:Jailbreak.jpg|Jailbreak.jpg]] - unknown license, replaced with [[:Image:Gp.png|Gp.png]] &lt;br /&gt;
::::[[:Image:Filesystem Listing.png|Filesystem Listing.jpg]] - from [http://www.hp9845.net/9845/projects/hpdir/ blog], unknown license, replaced with [http://cole.freehostingcloud.com/wiki/File:iphonefw.png Iphonefw.png from my site]&lt;br /&gt;
::::[[:Image:Hacking.png|Hacking.png]] - icon from {{wp|GNOME}} project - unreplaced&lt;br /&gt;
::::[[:Image:Software Icon.png|Software Icon.png]] - icon, copyrited, replaced wth [[commons:File:Crystal Clear device cdrom unmount.png|Crystal Clear device cdrom unmound.png from Commons]]&lt;br /&gt;
::::[[:Image:P2P.gif|P2P.gif]] - unknown license, replaced with [[commons:File:P2P-network.svg|P2P-network.svg from Commons (2000px)]] at [[:Image:P2P.png|P2P.png]]&lt;br /&gt;
:::--[[User:Balloonhead66|Balloonhead66]] 17:53, 19 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Flooding ==&lt;br /&gt;
Please stop flooding the wiki with your changes about your vfdecrypt GUI (one of what like 200?) all the recent changes most of the time are from you about little menial stuff that i doubt most people care about, i had to stop following the wiki twitter account because it seemed like 99.99% of the updates were from you, all useless.  PLEASE STOP --[[User:Nito|Nito]] 19:53, 26 May 2011 (UTC)&lt;br /&gt;
:Obviously keeping the wiki up to date is more important than inconveniencing anyone regarding their twitter feeds.  The more accurate the wiki, the better. [[User:MuscleNerd|MuscleNerd]] 20:40, 26 May 2011 (UTC)&lt;br /&gt;
::Yes but when his updates are about stupid crap re: ANOTHER vfdecrypt GUI then i think it does a disservice to everyone who uses the wiki. --[[User:Nito|Nito]] 20:37, 26 May 2011 (UTC)&lt;br /&gt;
:::I think it's better not to judge *anyone's* contributions, large or small.  This is a community of contributors. [[User:MuscleNerd|MuscleNerd]] 20:40, 26 May 2011 (UTC)&lt;br /&gt;
:::: I understand that, but mostly every time i look in the recent changes pages its filled up with garbage about idecryptit or whatever, rendering &amp;quot;recent changes&amp;quot; 99.99% useless imo. --[[User:Nito|Nito]] 20:42, 26 May 2011 (UTC)&lt;br /&gt;
::::: The more active the wiki, the better. It means (1) people are contributing (2) info is being refined and corrected.  Even if it's the tiniest details, over time that makes a big difference.  [[User:MuscleNerd|MuscleNerd]] 20:44, 26 May 2011 (UTC)&lt;br /&gt;
::::::Yes, because people learn a lot from a GUI. He uses the wiki as an advertisement for it. --[[User:Cj|cj]] 20:50, 26 May 2011 (UTC)&lt;br /&gt;
:::::::If it's a valid wiki topic, then it &amp;quot;deserves&amp;quot; to be updated as much as any other topic.  If it's not a valid topic, ask to have it removed.  He's actually marking all of his minor edits properly (that bold &amp;quot;m&amp;quot;).  Perhaps whoever owns that twitter account shouldn't rebroadcast edits marked as minor like that.  [[User:MuscleNerd|MuscleNerd]] 20:54, 26 May 2011 (UTC)&lt;br /&gt;
:::::::: I think it straddles the line of &amp;quot;valid&amp;quot; i definitely remember reading somewhere that geo didn't want the wiki to be used as an advertisement for apps --[[User:Nito|Nito]] 20:56, 26 May 2011 (UTC)&lt;br /&gt;
::::::::: The rule is actually &amp;quot;don't create a page just to advertise your new website please&amp;quot;.  More details on the Ground Rules page. [[User:MuscleNerd|MuscleNerd]] 21:02, 26 May 2011 (UTC)&lt;br /&gt;
::::::::: I am not advertising. I am just posting relevant info on an iPhone related app. Also, now that is it published, I am done.  Whenever a new firmware comes out, the recent changes is flooded with about 30 edits! --[[User:Balloonhead66|Balloonhead66]] 23:16, 26 May 2011 (UTC)&lt;br /&gt;
:::::::::: Don't worry about it...feel free to make any changes whenever they're needed.  You're actually doing a good job marking minor changes as &amp;quot;m&amp;quot;, and those can be filtered from the Recent Changes page via a single click in the user preference panel.  (Whoever's running that twitter bot should filter away &amp;quot;m&amp;quot; changes.) [[User:MuscleNerd|MuscleNerd]] 23:29, 26 May 2011 (UTC)&lt;br /&gt;
::::::::::: Thanks! I only try to contribute.  I never advertise (except with AdWords) and I always try to do my best to make sure this wiki has the latest info. --[[User:Balloonhead66|Balloonhead66]] 23:35, 26 May 2011 (UTC)&lt;br /&gt;
:::::::::::: Yep, there can never be &amp;quot;too much&amp;quot; latest info :)  The more contributors the better! [[User:MuscleNerd|MuscleNerd]] 23:40, 26 May 2011 (UTC)&lt;br /&gt;
::::::::::::: I agree.  Thank you for your support in this. If you want to follow the updates, check [[Special:Recentchanges]]. --[[User:Balloonhead66|Balloonhead66]] 02:52, 27 May 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rephrase ==&lt;br /&gt;
Hi, thanks for fixing my bad link on the [[Bugging Debuggers]] page. But what did you mean by your comment &amp;quot;please rephrase that, here is what makes google hate us&amp;quot;. What part needs rephrasing? --[[User:Tempelorg|Tempelorg]] 17:20, 21 June 2011 (UTC)&lt;br /&gt;
:&amp;quot;Here&amp;quot;, &amp;quot;Click here&amp;quot;, etc. brings a sites ratings down.  It also makes the page more clearer. --[[User:Balloonhead66|Balloonhead66]] 18:55, 21 June 2011 (UTC)&lt;br /&gt;
::Ah, I see what you mean now. You should have put &amp;quot;here&amp;quot; in quotes, then I would have understood that you referred using that particular word. Will fix it now. Thanks. [[User:Tempelorg|Tempelorg]] 13:45, 23 June 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:5urd&amp;diff=18610</id>
		<title>User talk:5urd</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:5urd&amp;diff=18610"/>
		<updated>2011-06-21T17:20:21Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: /* rephrase */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Pictures==&lt;br /&gt;
And for the new pictures for the stub pages, you probably just copied them from somewhere on the Internet. Please draw your own images instead of stealing it from somewhere. I'll delete them otherwise. We cannot have the official Apple logo just as a mark for general Apple issues. We might be able to use official product photos or the Apple logo on a page describing Apple, but nothing else. Treat images the same way as software. The jailbreak image probably comes from a scammers page, but it's still not yours, even if they do bad things. [[User:geohot|Geohot]] has enough trouble right now, so don't add copyrighted material to this wiki. I'll delete the images tomorrow if you haven't replaced them by then. Thanks. --[[User:Http|http]] 17:23, 19 February 2011 (UTC)&lt;br /&gt;
:Ok, i'll replace the copywrited images with Public domain. --[[User:Balloonhead66|Balloonhead66]] 17:31, 19 February 2011 (UTC)&lt;br /&gt;
::Thanks. (I had to laugh when I saw your new Apple!) --[[User:Http|http]] 17:39, 19 February 2011 (UTC)&lt;br /&gt;
:::Images:&lt;br /&gt;
::::[[:Image:Android logo.png|Android logo.png]] - public domain, kept [[commons:File:Android_robot.svg|On Commons]]&lt;br /&gt;
::::[[:Image:Generic iPhone.png|Generic iPhone.png]] - public domain, kept [[commons:File:iPhone.svg|On Commons]]&lt;br /&gt;
::::[[:Image:Apple-logo.png|Apple-logo.png]] - logo, copyrited, replaced with [[commons:File:Apple Mac.png|Apple Mac.png from Commons]]&lt;br /&gt;
::::[[:Image:Jailbreak.jpg|Jailbreak.jpg]] - unknown license, replaced with [[:Image:Gp.png|Gp.png]] &lt;br /&gt;
::::[[:Image:Filesystem Listing.png|Filesystem Listing.jpg]] - from [http://www.hp9845.net/9845/projects/hpdir/ blog], unknown license, replaced with [http://cole.freehostingcloud.com/wiki/File:iphonefw.png Iphonefw.png from my site]&lt;br /&gt;
::::[[:Image:Hacking.png|Hacking.png]] - icon from {{wp|GNOME}} project - unreplaced&lt;br /&gt;
::::[[:Image:Software Icon.png|Software Icon.png]] - icon, copyrited, replaced wth [[commons:File:Crystal Clear device cdrom unmount.png|Crystal Clear device cdrom unmound.png from Commons]]&lt;br /&gt;
::::[[:Image:P2P.gif|P2P.gif]] - unknown license, replaced with [[commons:File:P2P-network.svg|P2P-network.svg from Commons (2000px)]] at [[:Image:P2P.png|P2P.png]]&lt;br /&gt;
:::--[[User:Balloonhead66|Balloonhead66]] 17:53, 19 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Flooding ==&lt;br /&gt;
Please stop flooding the wiki with your changes about your vfdecrypt GUI (one of what like 200?) all the recent changes most of the time are from you about little menial stuff that i doubt most people care about, i had to stop following the wiki twitter account because it seemed like 99.99% of the updates were from you, all useless.  PLEASE STOP --[[User:Nito|Nito]] 19:53, 26 May 2011 (UTC)&lt;br /&gt;
:Obviously keeping the wiki up to date is more important than inconveniencing anyone regarding their twitter feeds.  The more accurate the wiki, the better. [[User:MuscleNerd|MuscleNerd]] 20:40, 26 May 2011 (UTC)&lt;br /&gt;
::Yes but when his updates are about stupid crap re: ANOTHER vfdecrypt GUI then i think it does a disservice to everyone who uses the wiki. --[[User:Nito|Nito]] 20:37, 26 May 2011 (UTC)&lt;br /&gt;
:::I think it's better not to judge *anyone's* contributions, large or small.  This is a community of contributors. [[User:MuscleNerd|MuscleNerd]] 20:40, 26 May 2011 (UTC)&lt;br /&gt;
:::: I understand that, but mostly every time i look in the recent changes pages its filled up with garbage about idecryptit or whatever, rendering &amp;quot;recent changes&amp;quot; 99.99% useless imo. --[[User:Nito|Nito]] 20:42, 26 May 2011 (UTC)&lt;br /&gt;
::::: The more active the wiki, the better. It means (1) people are contributing (2) info is being refined and corrected.  Even if it's the tiniest details, over time that makes a big difference.  [[User:MuscleNerd|MuscleNerd]] 20:44, 26 May 2011 (UTC)&lt;br /&gt;
::::::Yes, because people learn a lot from a GUI. He uses the wiki as an advertisement for it. --[[User:Cj|cj]] 20:50, 26 May 2011 (UTC)&lt;br /&gt;
:::::::If it's a valid wiki topic, then it &amp;quot;deserves&amp;quot; to be updated as much as any other topic.  If it's not a valid topic, ask to have it removed.  He's actually marking all of his minor edits properly (that bold &amp;quot;m&amp;quot;).  Perhaps whoever owns that twitter account shouldn't rebroadcast edits marked as minor like that.  [[User:MuscleNerd|MuscleNerd]] 20:54, 26 May 2011 (UTC)&lt;br /&gt;
:::::::: I think it straddles the line of &amp;quot;valid&amp;quot; i definitely remember reading somewhere that geo didn't want the wiki to be used as an advertisement for apps --[[User:Nito|Nito]] 20:56, 26 May 2011 (UTC)&lt;br /&gt;
::::::::: The rule is actually &amp;quot;don't create a page just to advertise your new website please&amp;quot;.  More details on the Ground Rules page. [[User:MuscleNerd|MuscleNerd]] 21:02, 26 May 2011 (UTC)&lt;br /&gt;
::::::::: I am not advertising. I am just posting relevant info on an iPhone related app. Also, now that is it published, I am done.  Whenever a new firmware comes out, the recent changes is flooded with about 30 edits! --[[User:Balloonhead66|Balloonhead66]] 23:16, 26 May 2011 (UTC)&lt;br /&gt;
:::::::::: Don't worry about it...feel free to make any changes whenever they're needed.  You're actually doing a good job marking minor changes as &amp;quot;m&amp;quot;, and those can be filtered from the Recent Changes page via a single click in the user preference panel.  (Whoever's running that twitter bot should filter away &amp;quot;m&amp;quot; changes.) [[User:MuscleNerd|MuscleNerd]] 23:29, 26 May 2011 (UTC)&lt;br /&gt;
::::::::::: Thanks! I only try to contribute.  I never advertise (except with AdWords) and I always try to do my best to make sure this wiki has the latest info. --[[User:Balloonhead66|Balloonhead66]] 23:35, 26 May 2011 (UTC)&lt;br /&gt;
:::::::::::: Yep, there can never be &amp;quot;too much&amp;quot; latest info :)  The more contributors the better! [[User:MuscleNerd|MuscleNerd]] 23:40, 26 May 2011 (UTC)&lt;br /&gt;
::::::::::::: I agree.  Thank you for your support in this. If you want to follow the updates, check [[Special:Recentchanges]]. --[[User:Balloonhead66|Balloonhead66]] 02:52, 27 May 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== rephrase ==&lt;br /&gt;
&lt;br /&gt;
Hi, thanks for fixing my bad link on the [[Bugging Debuggers]] page. But what did you mean by your comment &amp;quot;please rephrase that, here is what makes google hate us&amp;quot;. What part needs rephrasing?&lt;br /&gt;
[[User:Tempelorg|Tempelorg]] 17:20, 21 June 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Main_Page&amp;diff=18609</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Main_Page&amp;diff=18609"/>
		<updated>2011-06-21T17:17:00Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: /* Please explain that it's currently not open to new sign-ups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk Archive|2010|2011}}&lt;br /&gt;
&lt;br /&gt;
== Please explain that it's currently not open to new sign-ups ==&lt;br /&gt;
Hi, thanks for helping me get an account here. I had wanted to sign up and found that it didn't work - without any explanation why.&lt;br /&gt;
Eventually I managed to get in contact with one of the sysops via Twitter and was told that it was closed because of spammers taking over.&amp;lt;br /&amp;gt;&lt;br /&gt;
It would be nice if you could add a little note on this on the main page. There it still says that anyone can join. That should be changed. Maybe even with a hint at how someone could still sign up by contacting someone, if he can explain why he needs to be in.&amp;lt;br /&amp;gt;&lt;br /&gt;
--[[User:Tempelorg|Tempelorg]] 13:03, 21 June 2011 (UTC)&lt;br /&gt;
:I placed a message on the user login page. That should do the trick. :) --[[User:Dialexio|&amp;lt;span style=&amp;quot;color:#C20; font-weight:normal;&amp;quot;&amp;gt;Dialexio&amp;lt;/span&amp;gt;]] 16:00, 21 June 2011 (UTC)&lt;br /&gt;
::Yes, that should do it. I also noticed that you provided an email address now. Thanks a lot for the quick fix [[User:Tempelorg|Tempelorg]] 17:17, 21 June 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== HW Developer related stuff goes where? ==&lt;br /&gt;
I am working on a project in which I want to use the Dock connector's serial lines to communicate with an external device. Since Apple makes this very difficult (tried to get into the MFi program with no luck), I found that I probably need to jailbreak the device in order to use these lines directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Finding help in the www was quite disappointing so far (the one by Collin Meyer is quite outdated). So when I figured a few things out now, I'd like to share them. I'd post explanations on how to use these lines on the Dock and how to program them.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wonder if this is the right site for such information. The main page claim to be about _anything_ iPhone, but all I find so far is Jailbreak-related. So, what is this about? Shall I post my findings here or do they better fit somewhere else, e.g. the iphonedevwiki? Sadly I can't sign up with iphonedevwiki, either.  Gosh, why is it so hard to find a place to share programming on jailbroken devices? Any other suggestions, please?&amp;lt;br /&amp;gt;&lt;br /&gt;
--[[User:Tempelorg|Tempelorg]] 13:41, 21 June 2011 (UTC)&lt;br /&gt;
:I think it is.  This is more appropriate on the [[The iPhone Wiki:Community Portal|Community Portal]], not the [[Main Page]] though --[[User:Balloonhead66|Balloonhead66]] 16:16, 21 June 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Main_Page&amp;diff=18600</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Main_Page&amp;diff=18600"/>
		<updated>2011-06-21T13:41:38Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: /* HW Developer related stuff goes where? */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk Archive|2010|2011}}&lt;br /&gt;
&lt;br /&gt;
== Please explain that it's currently not open to new sign-ups ==&lt;br /&gt;
&lt;br /&gt;
Hi, thanks for helping me get an account here. I had wanted to sign up and found that it didn't work - without any explanation why.&lt;br /&gt;
Eventually I managed to get in contact with one of the sysops via Twitter and was told that it was closed because of spammers taking over.&lt;br /&gt;
&lt;br /&gt;
It would be nice if you could add a little note on this on the main page. There it still says that anyone can join. That should be changed. Maybe even with a hint at how someone could still sign up by contacting someone, if he can explain why he needs to be in.&lt;br /&gt;
[[User:Tempelorg|Tempelorg]] 13:03, 21 June 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== HW Developer related stuff goes where? ==&lt;br /&gt;
&lt;br /&gt;
I am working on a project in which I want to use the Dock connector's serial lines to communicate with an external device. Since Apple makes this very difficult (tried to get into the MFi program with no luck), I found that I probably need to jailbreak the device in order to use these lines directly.&lt;br /&gt;
&lt;br /&gt;
Finding help in the www was quite disappointing so far (the one by Collin Meyer is quite outdated). So when I figured a few things out now, I'd like to share them. I'd post explanations on how to use these lines on the Dock and how to program them.&lt;br /&gt;
&lt;br /&gt;
I wonder if this is the right site for such information. The main page claim to be about _anything_ iPhone, but all I find so far is Jailbreak-related. So, what is this about? Shall I post my findings here or do they better fit somewhere else, e.g. the iphonedevwiki? Sadly I can't sign up with iphonedevwiki, either.  Gosh, why is it so hard to find a place to share programming on jailbroken devices? Any other suggestions, please?&lt;br /&gt;
&lt;br /&gt;
[[User:Tempelorg|Tempelorg]] 13:41, 21 June 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Device_Nodes&amp;diff=18599</id>
		<title>Device Nodes</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Device_Nodes&amp;diff=18599"/>
		<updated>2011-06-21T13:30:47Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: link to /dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underlying unix OS that powers the iPhone has a number of device nodes.&lt;br /&gt;
These nodes can be read from or written to by the OS or applications.&lt;br /&gt;
&lt;br /&gt;
See also [[/dev]].&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
A iPhone 3G 2.0.2 contains:&lt;br /&gt;
&lt;br /&gt;
 crw-rw-rw-  1 root wheel    21,  0 Aug 28 15:35 aes_0&lt;br /&gt;
 crw-------  1 root wheel    23,  0 Aug 28 18:56 bpf0&lt;br /&gt;
 crw-------  1 root wheel    23,  1 Aug 28 18:56 bpf1&lt;br /&gt;
 crw-------  1 root wheel    23,  2 Aug 28 15:35 bpf2&lt;br /&gt;
 crw-------  1 root wheel    23,  3 Aug 28 15:35 bpf3&lt;br /&gt;
 c------r--  1 root wheel    11,  0 Aug 28 15:35 btreset&lt;br /&gt;
 crw--w--w-  1 root wheel     0,  0 Aug 28 15:35 console&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  5 Aug 28 18:56 cu.bluetooth&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  7 Aug 28 15:35 cu.debug&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  1 Aug 28 15:35 cu.iap&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  3 Aug 28 15:35 cu.umts&lt;br /&gt;
 brw-r-----  1 root operator 14,  0 Aug 28 15:35 disk0&lt;br /&gt;
 brw-r-----  1 root operator 14,  1 Aug 28 15:35 disk0s1&lt;br /&gt;
 brw-r-----  1 root operator 14,  2 Aug 28 15:35 disk0s2&lt;br /&gt;
 crw-------  1 root wheel     9,  0 Aug 28 15:35 dlci.spi-baseband.0&lt;br /&gt;
 crw-------  1 root wheel     9,  1 Aug 28 18:56 dlci.spi-baseband.1&lt;br /&gt;
 crw-------  1 root wheel     9, 10 Aug 28 15:35 dlci.spi-baseband.10&lt;br /&gt;
 crw-------  1 root wheel     9, 11 Aug 28 15:35 dlci.spi-baseband.11&lt;br /&gt;
 crw-------  1 root wheel     9, 12 Aug 28 15:35 dlci.spi-baseband.12&lt;br /&gt;
 crw-------  1 root wheel     9, 13 Aug 28 15:35 dlci.spi-baseband.13&lt;br /&gt;
 crw-------  1 root wheel     9, 14 Aug 28 15:35 dlci.spi-baseband.14&lt;br /&gt;
 crw-------  1 root wheel     9, 15 Aug 28 15:35 dlci.spi-baseband.15&lt;br /&gt;
 crw-------  1 root wheel     9,  2 Aug 28 19:13 dlci.spi-baseband.2&lt;br /&gt;
 crw-------  1 root wheel     9,  3 Aug 28 18:56 dlci.spi-baseband.3&lt;br /&gt;
 crw-------  1 root wheel     9,  4 Aug 28 18:56 dlci.spi-baseband.4&lt;br /&gt;
 crw-------  1 root wheel     9,  5 Aug 28 18:56 dlci.spi-baseband.5&lt;br /&gt;
 crw-------  1 root wheel     9,  6 Aug 28 18:56 dlci.spi-baseband.6&lt;br /&gt;
 crw-------  1 root wheel     9,  7 Aug 28 18:56 dlci.spi-baseband.7&lt;br /&gt;
 crw-------  1 root wheel     9,  8 Aug 28 18:56 dlci.spi-baseband.8&lt;br /&gt;
 crw-------  1 root wheel     9,  9 Aug 28 18:56 dlci.spi-baseband.9&lt;br /&gt;
 crw-------  1 root wheel     6,  0 Aug 28 15:35 klog&lt;br /&gt;
 cr--r--r--  1 root wheel    13,  3 Aug 28 15:35 mrvl868x0&lt;br /&gt;
 crw-------  1 root wheel     9,  0 Aug 28 15:35 mux.spi-baseband&lt;br /&gt;
 crw-rw-rw-  1 root wheel     3,  2 Aug 28 18:56 null&lt;br /&gt;
 crw-rw-rw-  1 root tty      15,  1 Aug 28 19:13 ptmx&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  0 Aug 28 15:35 ptyp0&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  1 Aug 28 15:35 ptyp1&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  2 Aug 28 15:35 ptyp2&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  3 Aug 28 15:35 ptyp3&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  4 Aug 28 15:35 ptyp4&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  5 Aug 28 15:35 ptyp5&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  6 Aug 28 15:35 ptyp6&lt;br /&gt;
 crw-rw-rw-  1 root wheel     5,  7 Aug 28 15:35 ptyp7&lt;br /&gt;
 crw-rw-rw-  1 root wheel     8,  0 Aug 28 15:35 random&lt;br /&gt;
 crw-r-----  1 root operator 14,  0 Aug 28 15:35 rdisk0&lt;br /&gt;
 crw-r-----  1 root operator 14,  1 Aug 28 15:35 rdisk0s1&lt;br /&gt;
 crw-r-----  1 root operator 14,  2 Aug 28 15:35 rdisk0s2&lt;br /&gt;
 crw-rw-rw-  1 root wheel    20,  0 Aug 28 15:35 sha1_0&lt;br /&gt;
 crw-rw-rw-  1 root wheel     2,  0 Aug 28 15:35 tty&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  4 Aug 28 15:35 tty.bluetooth&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  6 Aug 28 15:35 tty.debug&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  0 Aug 28 15:35 tty.iap&lt;br /&gt;
 crw-rw-rw-  1 root wheel     1,  2 Aug 28 15:35 tty.umts&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  0 Aug 28 15:35 ttyp0&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  1 Aug 28 15:35 ttyp1&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  2 Aug 28 15:35 ttyp2&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  3 Aug 28 15:35 ttyp3&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  4 Aug 28 15:35 ttyp4&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  5 Aug 28 15:35 ttyp5&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  6 Aug 28 15:35 ttyp6&lt;br /&gt;
 crw-rw-rw-  1 root wheel     4,  7 Aug 28 15:35 ttyp7&lt;br /&gt;
 crw--w----  1 root tty      16,  0 Aug 28 19:13 ttys000&lt;br /&gt;
 crw-rw-rw-  1 root wheel    10,  2 Aug 28 15:35 uart.bluetooth&lt;br /&gt;
 crw-rw-rw-  1 root wheel    10,  3 Aug 28 15:35 uart.debug&lt;br /&gt;
 crw-rw-rw-  1 root wheel    10,  0 Aug 28 15:35 uart.iap&lt;br /&gt;
 crw-rw-rw-  1 root wheel    10,  1 Aug 28 15:35 uart.umts&lt;br /&gt;
 crw-rw-rw-  1 root wheel     8,  1 Aug 28 15:35 urandom&lt;br /&gt;
 brw-------  1 root operator  1,  0 Aug 28 15:35 vn0&lt;br /&gt;
 brw-------  1 root operator  1,  1 Aug 28 15:35 vn1&lt;br /&gt;
 crw-rw-rw-  1 root wheel     3,  3 Aug 28 15:35 zero&lt;br /&gt;
&lt;br /&gt;
==Block Devices==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|disk0&lt;br /&gt;
|iPhone flash memory (4, 8 or 16GB)&lt;br /&gt;
|-&lt;br /&gt;
| disk0s1&lt;br /&gt;
| OS partition. Stores / root file system.&lt;br /&gt;
|-&lt;br /&gt;
| disk0s2&lt;br /&gt;
| User space. Stores Music, Photos, Videos, Podcasts, Ringtones and Apps. Mounted as /private/var.&lt;br /&gt;
|-&lt;br /&gt;
| disk1&lt;br /&gt;
| Unless you previously mounted something on purpose, this is going to be the DeveloperDiskImage from XCode, which is uploaded to your device and mounted every time you plug in with XCode running. It is signature checked against /System/Library/Lockdown/iPhoneDebug.pem.&lt;br /&gt;
|-&lt;br /&gt;
| vn0&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| vn1&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Interesting Character Devices==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|Dev Node&lt;br /&gt;
|Description&lt;br /&gt;
|Children&lt;br /&gt;
|-&lt;br /&gt;
| rdisk0&lt;br /&gt;
| RAW Disk; to access the Flash&lt;br /&gt;
| rdisk0s1 (root) rdisk0s2 (data)&lt;br /&gt;
|-&lt;br /&gt;
| dlci.spi-baseband&lt;br /&gt;
| iPhone Baseband Radio&lt;br /&gt;
| dlci.spi-baseband.0 - dlci.spi-baseband.15&lt;br /&gt;
|-&lt;br /&gt;
| tty.iap&lt;br /&gt;
| serial connection (pins 12 and 13 of the Dock connector)&lt;br /&gt;
|-&lt;br /&gt;
| uart.umts&lt;br /&gt;
| Serial connection to the Utms radio (?)&lt;br /&gt;
|-&lt;br /&gt;
| dlci.spi-baseband.9&lt;br /&gt;
| GPS device (read from by /usr/libexec/locationd82 for CoreLocation services)&lt;br /&gt;
|-&lt;br /&gt;
| mem&lt;br /&gt;
| Raw access to RAM (has been blocked since 1.1.2) Memory devices can be re-enabled with single WORD change within kernel.&lt;br /&gt;
| kmem, Raw access to Kernel Memory (also blocked since 1.1.2)&lt;br /&gt;
|-&lt;br /&gt;
| aes_0&lt;br /&gt;
| Access to AES engine. Works via complicated ioctl handshake. Not known why it exists, as use of the IOKit interface is much simpler.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===How to access /dev/mem and /dev/kmem===&lt;br /&gt;
All you need to do is patch the kernel. See [http://code.google.com/p/chronicdev/wiki/GetBackMemAndKmem here] for up to date patches according to the firmware revision that you are on. Basically, the last one patches the setup_kmem flag itself, and the others just patch the checks to it.&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=/dev&amp;diff=18598</id>
		<title>/dev</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=/dev&amp;diff=18598"/>
		<updated>2011-06-21T13:29:51Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: /* Summary */ rephrased&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
[[Device Nodes]] are here, as with any other standard UNIX system. The directory is read-only.&lt;br /&gt;
&lt;br /&gt;
== Children ==&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&amp;quot;cu.*&amp;quot; devices are like the corresponding &amp;quot;tty.*&amp;quot; device but with exclusive access (like a lock file)--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Obviously, device availability may differ depending on hardware.--&amp;gt;&lt;br /&gt;
&amp;lt;!--And on OS. /dev/mem and /dev/kmem were removed after 1.1.2, see chronic-dev google code.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Where is the camera?--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; style=&amp;quot;table-layout: fixed; text-align: center; border-collapse: collapse;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Node&lt;br /&gt;
! Description&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[m68ap|iPhone]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n82ap|iPhone3G]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n88ap|iPhone 3GS]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n90ap|iPhone 4]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n45ap|iPod touch]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n72ap|iPod touch 2G]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n18ap|iPod touch 3G]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[n81ap|iPod touch 4G]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[k48ap|iPad 1G]]&lt;br /&gt;
! width=&amp;quot;80&amp;quot;| [[k66ap|Apple TV 2G]]&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/zero|zero]]&lt;br /&gt;
|(Outputs 0x0, discards input)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/vn1|vn1]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes|made by jailbreak}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/vn0|vn0]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes|made by jailbreak}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/urandom|urandom]]&lt;br /&gt;
|(Outputs pseudo-random data)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.umts|uart.utms]]&lt;br /&gt;
|(new data line added on the iPhone 4)&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{partial|?}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|colspan=&amp;quot;6&amp;quot; {{partial|?}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.iap|uart.iap]]&lt;br /&gt;
|([http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial Dock connector serial interface])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.highland-park|uart.highland-park]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|?}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.gps|uart.gps]]&lt;br /&gt;
|(Something with GPS)&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|iPad 3G}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.gas-gauge|uart.gas-gauge]]&lt;br /&gt;
|(Battery meter)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.debug|uart.debug]]&lt;br /&gt;
|[[Baseband_Commands|(Baseband)]]&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|iPad 3G}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/uart.bluetooth|uart.bluetooth]]&lt;br /&gt;
|(Bluetooth Dev Node disabled by the kernel for power saving)&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;5&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttypf|ttypf]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttype|ttype]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttypd|ttypd]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttypc|ttypc]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttypb|ttypb]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttypa|ttypa]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp9|ttyp9]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp8|ttyp8]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp7|ttyp7]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp6|ttyp6]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp5|ttyp5]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp4|ttyp4]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp3|ttyp3]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp2|ttyp2]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp1|ttyp1]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ttyp0|ttyp0]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty.umts|tty.umts]]&lt;br /&gt;
|?&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|iPad 3G}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty.iap|tty.iap]]&lt;br /&gt;
|([http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial Dock connector serial interface])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty.highland-park|tty.highland-park]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|?}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty.gas-gauge|tty.gas-gauge]]&lt;br /&gt;
|(Battery meter)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty.debug|tty.debug]]&lt;br /&gt;
|[[Baseband_Commands|(Baseband)]]&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|iPad 3G}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty.bluetooth|tty.bluetooth]]&lt;br /&gt;
|(Bluetooth Node)&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;5&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/tty|tty]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/sha1_0|sha1_0]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/rdisk0s2|rdisk0s2s1]]&lt;br /&gt;
|(Character device equivalent of disk0s2s1)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/rdisk0s2|rdisk0s2]]&lt;br /&gt;
|(Character device equivalent of disk0s2)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/rdisk0s1|rdisk0s1]]&lt;br /&gt;
|(Character device equivalent of disk0s1)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/rdisk0|rdisk0]]&lt;br /&gt;
|(Character device equivalent of disk0)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/random|random]]&lt;br /&gt;
|(Outputs random data)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptypf|ptypf]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptype|ptype]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptypd|ptypd]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptypc|ptypc]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptypb|ptypb]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptypa|ptypa]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp9|ptyp9]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp8|ptyp8]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp7|ptyp7]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp6|ptyp6]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp5|ptyp5]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp4|ptyp4]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp3|ptyp3]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp2|ptyp2]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp1|ptyp1]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptyp0|ptyp0]]&lt;br /&gt;
|&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/ptmx|ptmx]]&lt;br /&gt;
|( Posix terminal )&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes|made by jailbreak}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/pf|pf]] &lt;br /&gt;
|( [[wikipedia:PF (firewall)|firewall]] )&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/null|null]] &lt;br /&gt;
|(Doesn't output, discards input)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/mem|mem]] &lt;br /&gt;
|(Memory)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|On patched kernels}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/klog|klog]]&lt;br /&gt;
|part of the kernel used to receive kernel panic count &lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/kmem|kmem]] &lt;br /&gt;
|(Kernel memory)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|On patched kernels}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/io8logmt|io8logmt]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/io8log|io8log]] &lt;br /&gt;
|( replied AT S7=45 S0=0 L1 V1 X4 &amp;amp;c1 E1 Q0  when opened [http://yfrog.com/hta56p] )&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.sms|dlci.spi-baseband.sms]] &lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.reg|dlci.spi-baseband.reg]] &lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.pdp_ctl|dlci.spi-baseband.pdp_ctl]] &lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.pdp_3|dlci.spi-baseband.pdp_3]] &lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.pdp_2|dlci.spi-baseband.pdp_2]] &lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.pdp_1|dlci.spi-baseband.pdp_1]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.pdp_0|dlci.spi-baseband.pdp_0]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.low|dlci.spi-baseband.low]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.iq|dlci.spi-baseband.iq]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.extra_13|dlci.spi-baseband.extra_13]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.cl1|dlci.spi-bseband.cl1]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.chatty|dlci.spi-baseband.chatty]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/dlci.spi-baseband.call|dlci.spi-baseband.call]]&lt;br /&gt;
|( compatibility node made by [[Cydia.app|Cydia]] )&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/disk1|disk1]]&lt;br /&gt;
|([[/Developer|Virtual drive for SDK tools image]])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/disk0s2s1|disk0s2s1]]&lt;br /&gt;
|(Encrypted user partition on 3GS?)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/disk0s2|disk0s2]]&lt;br /&gt;
|(NAND, [[/private/var|user partition]])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/disk0s1|disk0s1]]&lt;br /&gt;
|(NAND, [[/|system partition]])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/disk0|disk0]]&lt;br /&gt;
|([[NAND]])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.umts|cu.umts]]&lt;br /&gt;
|?&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|?}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.iap|cu.iap]]&lt;br /&gt;
|([http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial Dock connector serial interface])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.highland-park|cu.highland-park]]&lt;br /&gt;
|(Camera)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|?}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.gps|cu.gps]]&lt;br /&gt;
|(Something with GPS)&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.gas-gauge|cu.gas-gauge]]&lt;br /&gt;
|(Exclusive access to the battery meter)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.debug|cu.debug]]&lt;br /&gt;
|[[Baseband_Commands|(Exclusive access to Baseband used, for example, by BBUpdater)]]&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{no}}&lt;br /&gt;
|{{partial|ipad 3g}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/cu.bluetooth|cu.bluetooth]]&lt;br /&gt;
|(primary Dev Node to comunicate with the bluetooth chip)&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; {{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;5&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/console|console]]&lt;br /&gt;
|(System console, displayed during a verbose boot)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/compass2_0|compass2_0]]&lt;br /&gt;
|([[Gyroscope]])&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{no}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; {{no}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/compass1_0|compass1_0]]&lt;br /&gt;
|(This may exist as [[Accelerometer]])&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{partial|?}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/compass_0|compass_0]]&lt;br /&gt;
|([[Magnetometer]])&lt;br /&gt;
|{{no}}&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; {{yes}}&lt;br /&gt;
|colspan=&amp;quot;5&amp;quot; {{no}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/btwake|btwake]] &lt;br /&gt;
|(sent to switch the bluetooth chip on from standby)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/btreset|btreset]]&lt;br /&gt;
|(used if the bluetooth chip becomes unresponsive)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/bpf3|bpf3]] &lt;br /&gt;
|({{wp|Berkeley Packet Filter}})&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/bpf2|bpf2]] &lt;br /&gt;
|({{wp|Berkeley Packet Filter}})&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/bpf1|bpf1]]&lt;br /&gt;
|({{wp|Berkeley Packet Filter}})&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/bpf0|bpf0]]&lt;br /&gt;
|({{wp|Berkeley Packet Filter}})&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[/dev/aes_0|aes_0]]&lt;br /&gt;
|(used with a crypto bundle provided in [[XPwn]] to utilize the [[AES Keys]] in userland)&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Parents ==&lt;br /&gt;
*[[/]]&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bugging_Debuggers&amp;diff=18597</id>
		<title>Bugging Debuggers</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bugging_Debuggers&amp;diff=18597"/>
		<updated>2011-06-21T13:27:20Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: Added an intro, since not everyone understands what the problem is. It's generally good to always state the problem before providing the solution.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Background:&lt;br /&gt;
&lt;br /&gt;
On jailbroken iOS devices crackers have made it possible to remove the DRM from sold applications so that they can be copied to any device without having to pay for them.&lt;br /&gt;
&lt;br /&gt;
As explained [Copy_Protection_Overview|here], apps protected by DRM are encrypted, making it usually impossible to transfer and run them on other devices.&lt;br /&gt;
&lt;br /&gt;
On of the methods used by crackers is to let the application run in a debugger (gdb) and then save the then unencrypted app image to disk.&lt;br /&gt;
&lt;br /&gt;
This page explains how to foil this method.&lt;br /&gt;
&lt;br /&gt;
== The ptrace() Trick ==&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE: This trick has been worked around by pirates. Don't rely on it!'''&lt;br /&gt;
&lt;br /&gt;
GDB is the stock debugger used by most hackers. On darwin (OSX and iPhone OS), GDB will not attach to processes that have asked not to be attached to. Instead, it will crash or crash the target process. This is useful for defeating Crackulous and most tutorial-followers.&lt;br /&gt;
&lt;br /&gt;
On OSX, one would need the following piece of code, as close as possible to the start of main().&lt;br /&gt;
&lt;br /&gt;
 ptrace(PT_DENY_ATTACH, 0, 0, 0);&lt;br /&gt;
&lt;br /&gt;
A couple of includes are also in order:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;sys/ptrace.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the iPhone, however, &amp;lt;sys/ptrace.h&amp;gt; is not available. Fortunately, that can be worked around:&lt;br /&gt;
&lt;br /&gt;
 #import &amp;lt;dlfcn.h&amp;gt;&lt;br /&gt;
 #import &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);&lt;br /&gt;
 #if !defined(PT_DENY_ATTACH)&lt;br /&gt;
 #define PT_DENY_ATTACH 31&lt;br /&gt;
 #endif  // !defined(PT_DENY_ATTACH)&lt;br /&gt;
 &lt;br /&gt;
 void disable_gdb() {&lt;br /&gt;
   void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);&lt;br /&gt;
   ptrace_ptr_t ptrace_ptr = dlsym(handle, &amp;quot;ptrace&amp;quot;);&lt;br /&gt;
   ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);&lt;br /&gt;
   dlclose(handle);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The following are needed to complete the code, and are left as an exercise for the reader:&lt;br /&gt;
* disable_gdb() should return for debug builds (hint: preprocessor macros)&lt;br /&gt;
* the string &amp;quot;ptrace&amp;quot; is a dead giveaway, and should probably be obfuscated a bit&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Copy_Protection_Overview&amp;diff=18596</id>
		<title>Copy Protection Overview</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Copy_Protection_Overview&amp;diff=18596"/>
		<updated>2011-06-21T13:04:25Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: added a link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Landscape and Motivation ==&lt;br /&gt;
Applications downloaded from the iTunes App Store are protected by FairPlay DRM. The FairPlay copy protection has been cracked some time ago [http://www.ipodandiphone.com/2008/08/start-to-finish-iphone-app-crack-release/]. What's worse, the copy removal method has been automated by the infamous Crackulous application [http://gizmodo.com/5144751/crackulous-allows-for-app-store-piracy]. The silver lining is that removing the copy protection from applications invalidates Apple's signature, so these applications cannot be run on phones without the jailbreak.&lt;br /&gt;
&lt;br /&gt;
iPhone application piracy is significant [http://blog.costan.us/2009/04/iphone-piracy-hard-numbers-for-soft.html][http://www.icombatgame.com/2009/05/08/my-experience-getting-owned-by-app-store-pirates/][http://www.iphonesavior.com/2009/02/-developer-loses-thousands-to-app-store-piracy.html], so relying on Apple's protection scheme is not a solution for most developers.&lt;br /&gt;
&lt;br /&gt;
Fighting one particular automated process for removing copy protection is easy [http://thwart-ipa-cracks.blogspot.com/2008/11/detection.html], but curbing iPhone application cracking is difficult, because of the many undocumented moving pieces (Apple's signatures, protection mechanism, application approval process, and iTunes distribution). Learning all this is a lot of work, which is currently duplicated by all independent developers. If developers pool their knowledge into the iPhone Wiki, the learning effort will not be duplicated anymore, and applications will have higher overall quality. Ideally, developers will produce an open-source obfuscation mechanism that is trivial to apply to applications, but takes a non-trivial amount of time to reverse.&lt;br /&gt;
&lt;br /&gt;
== Copy Protection Removal Overview ==&lt;br /&gt;
Developers that want to guard against copy protection removal must understand how it works. [http://www.ipodandiphone.com/2008/08/start-to-finish-iphone-app-crack-release/] documents the process in a tutorial fashion. A summary follows.&lt;br /&gt;
&lt;br /&gt;
The only encrypted part in an iPhone application is the executable file. The cracking process starts the victim application, then uses a debugger to suspend it. The application's executable code lies unprotected in RAM, and the debugger dumps it on disk. Then, the encrypted part of the executable file is replaced with the unencrypted code dumped from memory.&lt;br /&gt;
&lt;br /&gt;
The application's Info.plist is modified so that the jailbroken iPhone kernel does not check the application's signature, which is invalidated by the modification of the executable file. A more rigurous cracking process could remove Apple's signatures and certificates, and replace them with a self-signed certificate, as is done when developing with the jailbroken toolchain.&lt;br /&gt;
&lt;br /&gt;
== Defeating Copy Protection Removal ==&lt;br /&gt;
RIPdev suggests the following methods to counter copy protection removal.&lt;br /&gt;
&lt;br /&gt;
* [[Bugging_Debuggers|preventing debuggers from attaching to the application]]&lt;br /&gt;
* loading the executable code in stages, such that it's never completely present in RAM, unprotected &lt;br /&gt;
* integrity checks throughout the application&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Covert Exit ===&lt;br /&gt;
You can use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  __asm__ volatile(&amp;quot;swi 0x11&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
instead of calling exit(); since that it more obvious, but you may want to have the &amp;quot;swi 0x11&amp;quot; part be a NOP then use STRB to reconstruct it opcode by opcode. The reason I did not include an example of &amp;quot;reconstructing&amp;quot; it in the above snippet is simple. If everyone uses it, then it would be reduced to a simple byte search by crackers. If everyone does it in a different way, then it would be much tougher.&lt;br /&gt;
&lt;br /&gt;
=== Integrity Checks ===&lt;br /&gt;
An increasing trend among application developers is to use inexpensive integrity checks, and revert into a trial mode or shut down the application, some time after the integrity checks fail. An essential step is making sure the application does not act too soon, so that &amp;quot;crackers&amp;quot; do not notice the integrity checking process, and release the application as cracked immediately after removing the FairPlay encryption.&lt;br /&gt;
&lt;br /&gt;
[http://thwart-ipa-cracks.blogspot.com/2008/11/detection.html] suggests examining the Info.plist file, and checking for the existence of the SignerIdentity key that is added in the cracking process, and would not exist on any applications originating from the App Store. However, this is not advisible, as it can be patched simply by the cracker searching for either the &amp;quot;SignerIdentity&amp;quot; string in your code, or a bunch of MOVs if you used stringWithFormat to construct the string character by character. Anyway, it would probably be more beneficial if you checked the size and sha1 of the Info.plist, as although people will find this, it just makes it a bit harder than it would have been. Hell, with the check for the existence of SignerIdentity Check, someone could put together a program to automatically search for that string and then put patch it to be &amp;quot;SignerIdentitx&amp;quot; or something, so that your program obviously won't find it in the Info.plist. [http://landonf.bikemonkey.org/code/iphone/iPhone_Preventing_Piracy.20090213.html] suggests reading the executable file, and checking for the Mach-O directives for an encrypted section, as FairPlay introduces an encrypted section which is removed by cracked applications.&lt;br /&gt;
&lt;br /&gt;
These methods are cheap to implement. They are also easy to break, once the cracker is aware of them. This explains the need for introducing a delay between the crack detection and the delivery of the punishment, which can be as mild as popping a dialog box appealing to the user to purchase the application [http://benchatelain.com/2009/03/07/cracked-copies-of-full-screen-web-browser-function-as-demos/].&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Main_Page&amp;diff=18595</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Main_Page&amp;diff=18595"/>
		<updated>2011-06-21T13:03:07Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: /* Please explain that it's currently not open to new sign-ups */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk Archive|2010|2011}}&lt;br /&gt;
&lt;br /&gt;
== Please explain that it's currently not open to new sign-ups ==&lt;br /&gt;
&lt;br /&gt;
Hi, thanks for helping me get an account here. I had wanted to sign up and found that it didn't work - without any explanation why.&lt;br /&gt;
Eventually I managed to get in contact with one of the sysops via Twitter and was told that it was closed because of spammers taking over.&lt;br /&gt;
&lt;br /&gt;
It would be nice if you could add a little note on this on the main page. There it still says that anyone can join. That should be changed. Maybe even with a hint at how someone could still sign up by contacting someone, if he can explain why he needs to be in.&lt;br /&gt;
[[User:Tempelorg|Tempelorg]] 13:03, 21 June 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:Tempelorg&amp;diff=18594</id>
		<title>User:Tempelorg</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:Tempelorg&amp;diff=18594"/>
		<updated>2011-06-21T12:58:40Z</updated>

		<summary type="html">&lt;p&gt;Tempelorg: New page: This is Thomas Tempelmann.  Software developer since the early 80s.  In the old times, I reverse engineered a few things such as the Commodore 1541's DOS, then wrote F-Copy and a Fast Load...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is Thomas Tempelmann.&lt;br /&gt;
&lt;br /&gt;
Software developer since the early 80s.&lt;br /&gt;
&lt;br /&gt;
In the old times, I reverse engineered a few things such as the Commodore 1541's DOS, then wrote F-Copy and a Fast Loader based on it.&lt;br /&gt;
I also cracked a money gambing machine in Germany ([http://stackoverflow.com/questions/193016/reverse-engineering-war-stories see story]).&lt;br /&gt;
Wrote Templemon, a machine level debugger for the Atari ST, created one of the first virtual machines (MagiCMac, to run Atari ST apps on a Mac), have a lot of experience with various file system formats, helped with the iPodLinux project for a while, helping to make a nicer boot loader that also supports HFS, and much more.&lt;br /&gt;
Nowadays I'm a rather lazy programmer, preferring REALbasic over low level coding for my projects that involve any UI.&lt;br /&gt;
Yet, I still write apps for iOS and keep doing embedded work.&lt;br /&gt;
&lt;br /&gt;
I'm also a quite difficult person to many due to my insistance in &amp;quot;correctness&amp;quot; about anything I get involved with. And I like to get involved with everything.&lt;br /&gt;
Sorry. Consider it a German treat ;^)&lt;/div&gt;</summary>
		<author><name>Tempelorg</name></author>
		
	</entry>
</feed>