Home > Software engineering >  iOS App: Translate Virtual to Physical Address
iOS App: Translate Virtual to Physical Address

Time:08-31

I'm performing some low-level computations on iOS and would need to resolve the physical address of a virtual address. Does the iOS platform provide any (unofficial) functions for this task? Is this even possible without jailbreak/root?

CodePudding user response:

Nope.

In order to translate a virtual address to physical, the kernel would call one of these functions:

  • mmu_kvtop() for kernel addresses (hardware lookup).
  • mmu_uvtop() for userland addresses in the current process context (hardware lookup).
  • pmap_vtophys() for arbitrary addresses in a given pmap struct (software lookup).

None of these are exported to userland.

With an arbitrary kernel read primitive, you can implement the third kind of lookup yourself, but without that you're out of luck.

  • Related