The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Kernel Symbols
iOS's XNU is largely stripped, and contains fewer and fewer symbols with its newer versions. Whereas in pre 3.0 most symbols were visible, nowadays only symbols required for KExt linkage remain so.
This page is started in the hopes of bringing together efforts of the various JBers so as to pool already symbolified sections of the kernel. Because addresses change along with the different builds, please add the symbols under the right kernel version (i.e. release + device). If not 100% sure about a symbol, indicate the level of confidence.
symbol | 5.0.0 iPodT 4G | Notes |
---|---|---|
_exception_triage | 80016C34 | The Mach exception processing logic. Same address on iOS 5.0.1 |
sysent | 0x802CCBAC | Through this you can obtain all of XNU's 438 system calls, e.g. _exit @0x8019DE04 |
syscall_names | 0x802D2C6C | The char[][] containing the textual names of all system calls |
AppleMobileFileIntegrity_Start | 0x805E499C | Initialization of AMFI, the kext responsible for sandbox policies and entitlements |
ExceptionVectorsBase | 0x80078000 | Address of CPU exception handlers in kernel space: fleh_reset, fleh_undef, fleh_swi, fleh_prefabt, _fleh_dataabt, _fleh_addrexc and fleh_irq can be obtained from here |
Note: For most of the above symbols, a fairly decent source code can be obtained from the public open source XNU at opensource.apple. Bear in mind that ml_, PE_ and other machine specific functions will naturally be implemented quite differently. (but, it's a start!)