Как вызвать функцию внутри 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, но я абсолютно не понимаю, как вызвать эту функцию внутри потока. Подскажите пожалуйста.


Ответы (0 шт):