def pt32_walk(data, ttbr, skip): print("First level (va = %08x)" % ttbr) print("---------------------------------------------") fl = data[ttbr - ttbr:ttbr - ttbr + 0x4000] i = 0 for (va, fl) in pt.parse_pt(fl): i += 1 if i <= skip: continue if type(fl) == pt.pt_desc: print("") print("Second level (va = %08x)" % va) print("---------------------------------------------") sldata = data[fl.coarse_base - ttbr:fl.coarse_base - ttbr + 0x400] pt.parse_spt(sldata, va)
def pt32_walk(ttbr, skip): I("First level (va = %08x)", ttbr) I("---------------------------------------------") fl = Framework.peek(ttbr, 0x4000) i = 0 for (va, fl) in pt.parse_pt(fl): i += 1 if i <= skip: continue if type(fl) == pt.pt_desc: I("") I("Second level (va = %08x)", va) I("---------------------------------------------") sldata = Framework.peek(fl.coarse_base, 0x400) pt.parse_spt(sldata, va)