Как вызвать функцию внутри windows процесса?
Изучаю питон, пытаюсь в игре вызвать функцию send(), которая будет отправлять пакет по сокету.
SendFuncType = ctypes.WINFUNCTYPE(
ctypes.c_int,
wintypes.HANDLE,
ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_int,
ctypes.c_int
)
def main(socket_handle = 0x0B40):
process_name = "game.exe"
offset = 0x63BB19 # Офсет для функции send
hModule = get_module_handle(process_name)
send_addr = hModule + offset
send_fn = SendFuncType(send_addr)
data = (ctypes.c_ubyte * 15)(0x22, 0x0D, 0x0C, 0x29, 0x00, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x01, 0xA0, 0x30, 0x08, 0x00)
send_fn(socket_handle, data, len(data), 0)
Но я столкнулся с тем, что у меня нет доступа к этой функции:
OSError: exception: access violation reading 0x0000000000F90000
Насколько я понял, мне нужно создавать в процессе отдельный поток с помощью CreateRemoteThread
, но я абсолютно не понимаю, как вызвать эту функцию внутри потока. Подскажите пожалуйста.