如果我这样做:
try
{
try
{
Config.Register(
"anydescription",
"myprogram.exe",
"inject.dll");
}
catch (ApplicationException ex)
{
}
RemoteHooking.IpcCreateServer<interfaceppp>(ref ChannelName, WellKnownObjectMode.SingleCall);
RemoteHooking.Inject(pid, "inject.dll", "inject.dll", ChannelName);
}
catch (Exception ExtInfo)
{
}
我收到这个错误:
STATUS_INVALID_PARAMETER_4: The given 32-Bit library does not exist!
我正在使用具有管理员权限的 VS。在 bin 文件夹中,我有所有需要的文件 AFAIK:
我添加了 easyhook.dll 和 easyload32 和 64 作为引用(为什么这两个新文件?没有看到任何文档谈论它们)。 谢谢!
PD:试过这个,结果一样:
System.EnterpriseServices.Internal.Publish publish = new System.EnterpriseServices.Internal.Publish();
publish.GacInstall("EasyHook.dll");
publish.GacInstall("EasyHook32.dll");
publish.GacInstall("EasyHook64.dll");
publish.GacInstall("EasyLoad32.dll");
publish.GacInstall("EasyLoad64.dll");
最佳答案
我遇到了同样的问题,但使用的是 64 位。
从 GAC 中删除我的程序集和 EasyHook 解决了这个问题。
gacutil /uf EasyHook
gacutil /uf EasyLoad64
gacutil /uf MyAssembly
关于c# - EasyHook 给定的 32 位库不存在,用户库没有导出正确的运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31762879/