Я выяснил, изучив метод refle_methodbuilder_to_mono_method , что MonoMethod должен иметь MonoMethodHeader, который содержит информацию о методе.
В строке 3014 вы увидите, как они смогли установить код метода, передавая адрес массива как guint8.
Насколько я знаю, код содержит инструкции CIL, которые представляют собой массив байтов.
Используя метод mono_method_get_header, вы сможете получить заголовок любого метода, а с помощью описанной выше техники вы сможете изменить код. Но я не уверен, сработает ли это или нет. Это может работать только с динамически генерируемыми методами.
Если вы вызываете внутренний вызов с параметром массива байтов для c Возможно, мы могли бы сделать это правильно.