Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
ql.heap = Heap(ql, ql.HEAP_BASE_ADDR, ql.HEAP_BASE_ADDR + ql.HEAP_SIZE)
ql.hook_mem_unmapped(ql_x86_windows_hook_mem_error)
ql.RUN = True
# New set GDT Share with Linux
ql_x86_setup_gdt_segment_fs(ql, ql.FS_SEGMENT_ADDR, ql.FS_SEGMENT_SIZE)
ql_x86_setup_gdt_segment_gs(ql, ql.GS_SEGMENT_ADDR, ql.GS_SEGMENT_SIZE)
ql_x86_setup_gdt_segment_ds(ql)
ql_x86_setup_gdt_segment_cs(ql)
ql_x86_setup_gdt_segment_ss(ql)
# handle manager
ql.handle_manager = HandleManager()
# registry manger
ql.registry_manager = RegistryManager(ql)
# clipboard
ql.clipboard = Clipboard(ql)
# Place to set errors for retrieval by GetLastError()
ql.last_error = 0
# thread manager
main_thread = Thread(ql)
ql.thread_manager = ThreadManager(ql, main_thread)
new_handle = Handle(thread=main_thread)
ql.handle_manager.append(new_handle)
ql.PE_IMAGE_BASE = 0
ql.PE_IMAGE_SIZE = 0
ql.DEFAULT_IMAGE_BASE = 0x140000000
ql.entry_point = 0
ql.RUN = True
ql.heap = Heap(ql, ql.HEAP_BASE_ADDR, ql.HEAP_BASE_ADDR + ql.HEAP_SIZE)
# setup gdt
set_pe64_gdt(ql)
# handle manager
ql.handle_manager = HandleManager()
# registry manger
ql.registry_manager = RegistryManager(ql)
# clipboard manager
ql.clipboard = Clipboard(ql)
# Place to set errors for retrieval by GetLastError()
ql.last_error = 0
# thread manager
main_thread = Thread(ql)
ql.thread_manager = ThreadManager(ql, main_thread)
new_handle = Handle(thread=main_thread)
ql.handle_manager.append(new_handle)