iPhone 1.1.3 firmware behind the scenes changes

Tags: 1.1.3, applications, breaking, changes, hack, internal, iphone, jailbreak, sdk, widgets
So I've had the chance to examine the 1.1.3 firmware on a deeper level (using a technique not developed by me and which I can't release so don't ask) and have noticed some interesting changes behind the scenes that are quite blogworthy:

- SpringBoard no longer needs to be modified (via SummerBoard) in order to show extra applications in the /Applications folder.
- All applications now run as the user 'mobile' instead of as root.
- Preferences are now stored in /var/mobile rather than in /var/root.

What does this all mean? I'll tell you what it means.

The iPhone 1.1.3 firmware is ready for official installable applications.

Even though there are no applications available for purchase (besides the iPod Touch's $20 "upgrade package"), the installation architecture appears to be there already.

It also appears that the frameworks have undergone many changes, ostensibly to make it easier for official SDK developers to make programs. It does, however, break many of the existing applications including most of mine (Lights Off still works though :D).

Additionally, the SpringBoard app appears to have widget support - it contains a class called SBWidgetApplication which manages the package location and icon.

I will update this post with more details as I find them, so keep checking back.

Also check out this other hack for adding Speed Dial icons to your 1.1.3 home screen.

Return to Nate True's blog

Comments:

Posted by tatesman 2 years ago ( 23-Jan-2008 05:48:11 )

any chance to upload 1.1.3 springboard to 1.1.1 or 1.1.2 ???
i want the "icon orders changing"

Posted by spectre 2 years ago ( 23-Jan-2008 21:46:29 )

** iPod -- Hiding a sandbox outside of a honeypot?
** Please have your credentials ready for launchd
** Ah. I see your papers are in order. Welcome to Interzone, Mr. IP*owned!

Timestamp: 2008-01-23 09:09:49 (9 hours ago) Author: zarzycki@apple.com
<rdar://problem/5254675> Merge embedded changes into TOT
<rdar://problem/5692704> SpringBoard needs custom launchd job management API

Seriously, it shows some security maturity on Apple's part to release this code under Apache 2.0. I would not wish to install an application on my iPod alongside a mechanism for paying for applications unless the implementation was solid.

* Much of the wonder questions about why two-stage dynamic libraries are appearing at fixed addresses appear to be cleared up by this post.

* would not be surprised if the entire OS that was 'jailbroke' was not a big 'honeypot'

* Has anyone set ahead their computer clock to see if their are any iPoison capsules slowly disolving?

* I have read that the iPod itself checks to see if its date is manually updated... and this arm arch supports an internal clock kept seperate from the 'realtime' clock just to detect induced clock skew...





https://svn.macosforge.org/projects/launchd/changeset/23492/branches/SULeopard/launchd

44 AC_CHECK_FUNCS([atexit dup2 gethostname gettimeofday malloc mmap memmove memset mkdir munmap realloc rmdir select setenv socket strcasecmp strchr strdup strerror strrchr strstr strtol])


launchd_runtime_kill.c
20 #if !defined(__LP64__) && !defined(__arm__)
22 #define _NONSTD_SOURCE 1
23 #define old_kill(x, y) kill(x, y)
24 #define old_killpg(x, y) killpg(x, y)
25 #else
26 /* ??? No blessed way to get the old behavior */
27 extern int __kill(int, int, int);
28 #define old_kill(x, y) __kill(x, y, 0)
29 #define old_killpg(x, y) __kill(-(x), y, 0)
30 #endif


44 AC_CHECK_FUNCS([atexit dup2 gethostname gettimeofday malloc mmap memmove memset mkdir munmap realloc rmdir select setenv socket strcasecmp strchr strdup strerror strrchr strstr strtol])
45
46 # check for a Security framework that includes session support
47 ac_func_search_save_LIBS=$LIBS
48 LIBS="-framework Security $ac_func_search_save_LIBS"
49 AC_CHECK_FUNC([SessionCreate],
50 [AC_DEFINE(HAVE_SECURITY, 1, [Define to 1 if you have the Security framework])
51 AC_SUBST(LIBS_SECURITY,"-framework Security")
52 AC_SUBST(WEAKLIBS_SECURITY,"-weak_framework Security")])
53 LIBS=$ac_func_search_save_LIBS
54
55 # check for seatbelt
56 AC_CHECK_FUNC([sandbox_init],[AC_DEFINE(HAVE_SANDBOX, 1, [Define to 1 if you have the sandbox library])])
57
58 # check for quarantine
59 AC_CHECK_FUNC([_qtn_proc_init_with_data],[AC_DEFINE(HAVE_QUARANTINE, 1, [Define to 1 if you have the quarantine library])])

Posted by eddie 2 years ago ( 31-Jan-2008 20:45:27 )

wat?

Posted by eddie 2 years ago ( 31-Jan-2008 20:46:38 )

oooo i get it haha

Log in or register to post comments.
You are not logged in.
Log inRegister now!