(self)
| 490 | return {"name": name, "address": address} |
| 491 | |
| 492 | def init_teb(self): |
| 493 | teb_struct = make_teb(self.ql.arch.bits) |
| 494 | |
| 495 | teb_addr = self.structure_last_addr |
| 496 | peb_addr = self.ql.mem.align_up(teb_addr + teb_struct.sizeof(), 0x10) |
| 497 | |
| 498 | teb_obj = teb_struct.volatile_ref(self.ql.mem, teb_addr) |
| 499 | teb_obj.StackBase = self.stack_address + self.stack_size |
| 500 | teb_obj.StackLimit = self.stack_address |
| 501 | teb_obj.TebAddress = teb_addr |
| 502 | teb_obj.PebAddress = peb_addr |
| 503 | |
| 504 | self.ql.log.info(f'TEB is at {teb_addr:#x}') |
| 505 | |
| 506 | self.structure_last_addr = peb_addr |
| 507 | self.TEB = teb_obj |
| 508 | |
| 509 | def init_peb(self): |
| 510 | peb_struct = make_peb(self.ql.arch.bits) |
no test coverage detected