修改内存搜索方式,防止参数错误,无限循环搜索

This commit is contained in:
xaoyo
2023-10-07 23:50:27 +08:00
parent 92e47f217b
commit 63c30ee094
2 changed files with 12 additions and 2 deletions
+5 -1
View File
@@ -169,7 +169,6 @@ class BaseAddr:
Handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, self.pid)
array = ctypes.create_string_buffer(self.batch)
for i in range(module_start_addr, module_end_addr, self.batch):
if ctypes.windll.kernel32.ReadProcessMemory(Handle, ctypes.c_void_p(i), array, self.batch, None) == 0:
continue
@@ -178,6 +177,9 @@ class BaseAddr:
if key in hex_string:
self.key_addr_tmp = i + hex_string.find(key)
break
if ((i - module_start_addr) / self.batch) > 300000:
self.key_addr = 0
return -1
array_key = []
for i in range(8):
@@ -204,6 +206,8 @@ class BaseAddr:
:param addr:
:return:
"""
if addr == 0:
return 0
offset = addr - self.base_address
return offset