Yalu102: Ipad air 2 All offsets

Created on 28 Jan 2017  Β·  91Comments  Β·  Source: kpwn/yalu102

iPad Air 2 10.2
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
kernelcache.release.j81

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_T7001"

_rootvnode: 5c20b8
allprocoffset: 5bc528
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
kernelcache.release.j82

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_T7001"

_rootvnode: 5c20b8
allprocoffset: 5bc528
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
kernelcache.release.j85m

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_S5L8960X"

_rootvnode: 5b60b8
allprocoffset: 5b0418
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
kernelcache.release.j86m

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_S5L8960X"

_rootvnode: 5b60b8
allprocoffset: 5b0418
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
kernelcache.release.j87m

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_S5L8960X"

_rootvnode: 5b60b8
allprocoffset: 5b0418
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
kernelcache.release.j96

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:08 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_T7000"

_rootvnode: 5c20b8
allprocoffset: 5bc468
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
kernelcache.release.j97

"Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:08 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_T7000"

_rootvnode: 5c20b8
allprocoffset: 5bc468
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

I don't know if these offsets have already been found but here you go @kpwn I will be adding 10.1.1 offsets later.

All 91 comments

Hey, correct me if I'm wrong but these are the offsets I got on 10.2 for the iPad Air 2 WiFi
} else if (strcmp(u.version, "Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_T7001") == 0) {
allproc_offset = 0x5b8528;
procoff = 0x360; // iPad air 2 (wifi), 10.2, @nicogibbons (github)
rootvnode_offset = 0x5be0b8;

@nicogibbons I said i dint know if they had been found already

I know but your results suggest that one of us is wrong?

@nicogibbons No but i dint find your offsets in my ipsw. wierd

I'll look again :) @CrypticGit

image
tell me if you want this @nicogibbons

I get _allproc 0x5b8528 and _kernproc 0x5be0e0

@nicogibbons For what kernelcache?

j81ap 10.2

If you scroll up i dont have that kernelcache. is it for ipad pro or air2 ?

Air 2 WiFi

Same thats the the one i got from ipsw.me

"iPad_64bit_TouchID_10.2_14C92_Restore.ipsw"

All of your offsets are wrong for me

Yeah

Wierd

How exactly did you work out rootvnode?

Also we will see when 4K support is added :)

I just search for it in hopper or terminal

rootvnode should be: nm kernelcache.decrypted | grep rootvnode

@jtv7 what about allproc?

These results don't look right @CrypticGit

Mine? or yours?

I'm really not sure. How did you get allproc?

Send me the decrypted kernel and I can check

Okay

I have slow internet it will take a minute @jtv7

kernelcache.decompressed.j81.zip
Hopefully compression didn't destroy file.

j81 is what we are looking at

@nicogibbons fffffff0075c20b8 S _rootvnode
fffffff0071e1258 S _vfs_rootvnode

To clarify is it vfs or normal one?

Darwin Kernel Version 16.3.0: Tue Nov 29 21:40:09 PST 2016; root:xnu-3789.32.1~4/RELEASE_ARM64_T7001

_allproc: 0x5b8528
_rootvnode: 0x5c20b8

@nicogibbons image
I got this for allproc

@jtv7 whats the best method for allproc?

@CrypticGit This project seems very good: https://gist.github.com/jndok/2a01a5885552571a69341a9700ac1bb0

@jtv7 what's the correct j81 offset?

@nicogibbons I just posted what I got for j81. How are you getting the rootvnode?

@drake90001 got the rootvnode for me

How did you work it out?

@nicogibbons This command: nm kernelcache.decompressed.j81 | grep rootvnode

yeah but how did you shorten the rootvnode

fffffff0075c20b8 S _rootvnode
fffffff0071e1258 S _vfs_rootvnode

no don't you have to subtract to get the rootvnode?

@nicogibbons My results are confirmed by looking at the disassembly
rootvnode

so rootvnode is 5c20b8?

@nicogibbons To the best of my knowledge, yes.

I'll try 0x5be0b8 when 4K support is added we'll know if it's wrong.

@jtv7 are the offsets different in 10.1.1

@CrypticGit Yes

@nicogibbons Ill find them. btw you dont have to @ me on my own issue.

@jtv7 how do i compile? with gcc?

The instructions are provided on the page, but just cd into the directory and run 'make'

I would make a pull request with these but I believe some of the allprocs are incorrect

@nicogibbons Mine?

Yeah

@nicogibbons K im having trouble trying to find how to compile autooffset

@nicogibbons I figured it out i just had to cd to he folder then compile

Guys, what don't you understand about all the offsets have been found already?

A better thing to do would be to tell us exactly which device is being targeted by what specific offset and not just keep posting all the same offsets that are already in the offsets.c file?

@RypeDub420 Wait so we dont need to find any more offsets for ipad, ipod, iphone on 10.0-10.2

All the offsets in the current offsets.c file include THE ONLY offsets you'll ever need.

If you look at my specific changes where I list what devices they are targeting, you'll notice that for some of the offsets: they target multiple devices, since they share the same SoC processor.

Please close this.

@CrypticGit exactly.

@RypeDub420 yet people on reddit tell me i wrong when i talk about how easy it is "reverse engeneer" and they keep saying the devices aren't supported when they are. Excluding 4k devices and iphone 7.

People on Reddit are literally retards and are not programmers nor developers.

They do not know what they are talking about, you should ignore them and stop seeking support there.

i try use rootvnode_offset = 0x5c20b8; and allproc_offset = 0x5B8528; then always got found corruption x(random number)

@masbog are you trying to jailbreak your air2 ?

@CrypticGit yes...

@masbog 4K devices haven't been added yet

@CrypticGit just wanna to know how to remount system-fs as writeable :(
image

Wym?

@CrypticGit using mach_portal manual extract the bootstrap.tar πŸ˜”

@masbog wait till Monday iPad Air 2 will probly be supported

always monitoring this github ☺️

@RypeDub420 yet people on reddit tell me i wrong when i talk about how easy it is "reverse engeneer" and they keep saying the devices aren't supported when they are. Excluding 4k devices and iphone 7.

@CrypticGit all of your offsets are wrong .. go back to reddit

Yalu logo

@kpwn please close

@Mila432 Can you double check the offset you got for rootvnode for "Darwin Kernel Version 16.1.0: Thu Sep 29 21:56:11 PDT 2016; root:xnu-3789.22.3~1/RELEASE_ARM64_S5L8960X" ? I get 0x5ae0b8

@jtv7

Yalu logo

@Mila432 Yes, so I believe it is 0x5ae0b8. The output of this command should also give you that: nm kernelcache.decrypted | grep rootvnode

@Mila432 It is confirmed by this disassembly:
offset

@jtv7 its not 0x5ae0b8..

its 0x5aa0b8

@Mila432 I didn'get it from Hopper, I got it from the command @kpwn in #15 mentioned.

@jtv7 maybe wrong kernel then

@Mila432 Nope, same kernel. Unless you have a better explanation, seems like you should go back to a free tool (Terminal) or a cheaper tool (Hopper), and stay away from IDA until you know how to use it :)

@jtv7 what ever floats your boat keep on living with your idea of 0x5ae0b8 is the right offset for Darwin Kernel Version 16.1.0: Thu Sep 29 21:56:11 PDT 2016; root:xnu-3789.22.3~1/RELEASE_ARM64_S5L8960X

image

@jtv7 try on your terminal like @Mila432 do...

i got this address from hopper (iPad Air 2) kernel for example, find Labels "_rootvnode"

and you will get like this...
image

and on your terminal like this... ( _rootvnode-address - 0xfffffff007004000 )
image

thanks

@masbog wrong kernel

@Mila432 so which kernel number to be?
image

@masbog we are talking about 10.1.1.. not 10.2

@Mila432 ops sorry... πŸ˜… now downloading the ipsw for 10.1.1

@masbog I get what you are doing, you are subtracting the kernel base to get the offset, but it seemed like that didn't have to be done with what was mentioned in #15

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jackiossy picture jackiossy  Β·  5Comments

Haroon-Sharif picture Haroon-Sharif  Β·  3Comments

iAdam1n picture iAdam1n  Β·  7Comments

kpwn picture kpwn  Β·  5Comments

d0uub picture d0uub  Β·  5Comments