vm_map_protect Patch

From The iPhone Wiki
Revision as of 22:21, 2 October 2011 by Http (talk | contribs) (another public patch copied from Stefan Essers slides)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  • vm_map_protect disallows pages with both VM_PROT_WRITE and VM_PROT_EXECUTE
  • when found VM_PROT_EXECUTE is cleared
  • patch NOPs out the bit clearing
__text:8003E980 ; ---------------------------------------------------------------------------
__text:8003E980 
__text:8003E980 loc_8003E980                            ; CODE XREF: _vm_map_protect+92↑j
__text:8003E980                 LDR             R1, =aVm_map_protect ; "vm_map_protect"
__text:8003E980                 BL              sub_8001A9E0
__text:8003E980                 BIC.W           R5, R5, #4 <== replaced with NOP
__text:8003E980                 B               loc_8003E944
__text:8003E980 ; ---------------------------------------------------------------------------