Уже не знаю что делать, но при попытке сделать инъекцию библиотеки в процесс, получаю исключение:
Тип "System.Runtime.Remoting.ServerIdentity" в сборке "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" не помечен как сериализуемый.
Т.к. этот тип не доступен извне, я не могу с ним ничего сделать, и не понимаю как этого избежать?
Передаваемый объект через IPC канал, не содержит типов которые не могут быть сериализованы.
Код которым я пытаюсь сделать инъекцию:
static void Main(string[] args)
{
RendererInterface rendererInterface = new RendererInterface();
string channelName = null;
IpcServerChannel channel = null;
try
{
channel = RemoteHooking.IpcCreateServer(ref channelName, WellKnownObjectMode.Singleton,
rendererInterface);
int pid = Process.GetProcessesByName("antialias").First().Id;
RemoteHooking.Inject(pid, "libicey_overlay_renderer.dll", "libicey_overlay_renderer.dll",
rendererInterface);
while (Console.ReadKey(true).Key != ConsoleKey.Escape)
{
}
}
catch(Exception e)
{
// ignored
Console.WriteLine(e.Message);
}
finally
{
rendererInterface.Destroy();
System.Runtime.Remoting.Channels.ChannelServices.UnregisterChannel(channel);
}
}
RendererInterface:
[Serializable]
public delegate void RendererInterfaceMessage(string message);
[Serializable]
public delegate void RendererInterfaceInternalMessage(int messageId);
[Serializable]
public class RendererInterface : MarshalByRefObject
{
public event RendererInterfaceMessage RendererMessage;
internal event RendererInterfaceInternalMessage InternalMessage;
protected virtual void OnRendererMessage(string message) => RendererMessage?.Invoke(message);
public void Destroy()
{
OnInternalMessage(-1);
}
public void SendMessage(string message)
{
RendererMessage?.Invoke(message);
}
public DateTime Ping() => DateTime.Now;
protected virtual void OnInternalMessage(int messageId)
{
InternalMessage?.Invoke(messageId);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
C# WinFormThread запускается и работает, но блокирует все элементы формы
Народ у меня есть slider в проекте который двигает другого но вроде не должен
Пытался уже решить этот вопрос, но никак не получаеться решить проблему