Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Поиск по указателю из CE через python

  • Автор темы Автор темы Balagur
  • Дата начала Дата начала
Новичок
Новичок
Статус
Оффлайн
Регистрация
7 Мар 2023
Сообщения
1
Реакции
0
Есть найденный указатель в Cheat Engine, как я могу по данным сдвигам найти значение через питон и могу ли вообще ?
Код:
Expand Collapse Copy
"jvm.dll"+007541C0 +D0 +30 +388 +D0 +150 +4D0 +4C
Пытался сделать по гайдам с инета, столкнулся с проблемой, что скрипт не может достать базовый адрес длл.
 
Есть найденный указатель в Cheat Engine, как я могу по данным сдвигам найти значение через питон и могу ли вообще ?
Код:
Expand Collapse Copy
"jvm.dll"+007541C0 +D0 +30 +388 +D0 +150 +4D0 +4C
Пытался сделать по гайдам с инета, столкнулся с проблемой, что скрипт не может достать базовый адрес длл.
 
1. Получить дескриптор модуля jvm.dll
Код:
Expand Collapse Copy
import ctypes

module_handle = ctypes.windll.kernel32.GetModuleHandleA("jvm.dll")

2. Рассчитать адрес, на который указывает найденный указатель
Код:
Expand Collapse Copy
offsets = [0x007541C0, 0xD0, 0x30, 0x388, 0xD0, 0x150, 0x4D0, 0x4C]

address = module_handle
for offset in offsets:
address = ctypes.c_void_p(address + offset).value

3. Прочитать значение из памяти
Код:
Expand Collapse Copy
process_handle = ctypes.windll.kernel32.OpenProcess(0x0010, False, ctypes.windll.kernel32.GetCurrentProcessId())

value = ctypes.c_int()
ctypes.windll.kernel32.ReadProcessMemory(process_handle, ctypes.c_void_p(address), ctypes.byref(value), ctypes.sizeof(value), None)

ctypes.windll.kernel32.CloseHandle(process_handle)

print(value.value)
 
1. Получить дескриптор модуля jvm.dll
Код:
Expand Collapse Copy
import ctypes

module_handle = ctypes.windll.kernel32.GetModuleHandleA("jvm.dll")

2. Рассчитать адрес, на который указывает найденный указатель
Код:
Expand Collapse Copy
offsets = [0x007541C0, 0xD0, 0x30, 0x388, 0xD0, 0x150, 0x4D0, 0x4C]

address = module_handle
for offset in offsets:
address = ctypes.c_void_p(address + offset).value

3. Прочитать значение из памяти
Код:
Expand Collapse Copy
process_handle = ctypes.windll.kernel32.OpenProcess(0x0010, False, ctypes.windll.kernel32.GetCurrentProcessId())

value = ctypes.c_int()
ctypes.windll.kernel32.ReadProcessMemory(process_handle, ctypes.c_void_p(address), ctypes.byref(value), ctypes.sizeof(value), None)

ctypes.windll.kernel32.CloseHandle(process_handle)

print(value.value)
:roflanEbalo::roflanEbalo::roflanEbalo:
 
Назад
Сверху Снизу