MCPcopy Index your code
hub / github.com/qilingframework/qiling / init_teb

Method init_teb

qiling/loader/pe.py:492–507  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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)

Callers 1

loadMethod · 0.80

Calls 4

make_tebFunction · 0.85
align_upMethod · 0.80
sizeofMethod · 0.80
volatile_refMethod · 0.80

Tested by

no test coverage detected