4

私が行った場合:

 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: 指定された 32 ビット ライブラリは存在しません!

管理者権限でVSを使用しています。bin フォルダーには、必要なすべてのファイルがあります。

EasyHookFilesNeeded

easyhook.dll と easyload32 と 64 を参照として追加しました (なぜこれら 2 つの新しいファイルがあるのでしょうか? それらについて説明しているドキュメントを見たことがありません)。ありがとう!

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");
4

3 に答える 3

3

私は同じ問題を抱えていましたが、64ビットでした。

アセンブリと EasyHook を GAC から削除すると、問題が解決しました。

gacutil /uf EasyHook
gacutil /uf EasyLoad64
gacutil /uf MyAssembly
于 2016-01-20T17:27:47.307 に答える