def load(self) -> None: """Load memory, fetching process process id, process handle and base address.""" try: self.process_id = get_pid_from_name(self.process_name) except RuntimeError: # not found, fallback to window check self.process_id = get_window_process_id("Geometry Dash") if not self.process_id: raise self.process_handle = get_handle(self.process_id) self.base_address = get_base_address(self.process_id, self.process_name) self.loaded = True
def resolve_layers(self, *offsets: Sequence[int], module: Optional[str] = None) -> int: offsets: List[int] = list_from(offsets) if module is None: address = self.base_address else: address = get_base_address(self.process_id, module) if offsets: address += offsets.pop(0) for offset in offsets: address = self.read(self.ptr_type, address) + offset return address
def load(self) -> None: self.process_id = get_pid_from_name(self.process_name) self.process_handle = get_handle(self.process_id) self.base_address = get_base_address(self.process_id, self.process_name) self.cocos_address = get_base_address(self.process_id, "libcocos2d.dll") self.loaded = True