Из "внешней программы" невозможно впринципе, функции надо вызывать из адресного пространства клиента.
Скрин конкретной наработки:
Перехватывает пакет хукая UGameEngine::OnSay2()
Отправляет пакет с Say2 через UNetworkHandler::Say2()
Код совместим со всеми клиентами имеющими те же имена экспортов в engine.dll и core.dll, т.е. не используются статические адреса и другие константы.