zoukankan      html  css  js  c++  java
  • easyhook报错The given 64-Bit library does not exist

    在调用 RemoteHooking.Inject 时,报错

    查看easyhook源代码,出错位置如下

    if(!RtlFileExists(UserLibrary))
        {
        #ifdef _M_X64
            THROW(STATUS_INVALID_PARAMETER_5, L"The given 64-Bit library does not exist!");
        #else
            THROW(STATUS_INVALID_PARAMETER_4, L"The given 32-Bit library does not exist!");
        #endif
        }
    BOOL RtlFileExists(WCHAR* InPath)
    {
        HANDLE          hFile;
    
        if((hFile = CreateFileW(InPath, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE)
            return FALSE;
    
        CloseHandle(hFile);
    
        return TRUE;
    }

    问题源头是 CreateFileW 这里失败,但是我手动调用CreateFileW传入dllPath也没有失败啊,很奇怪

    https://stackoverflow.com/questions/31762879/easyhook-the-given-32-bit-library-does-not-exist-user-library-does-not-export

     

    I've had same issue but with 64 bit.

    Removing my assemblies and EasyHook from GAC solved the issue.

    gacutil /uf EasyHook
    gacutil /uf EasyLoad64
    gacutil /uf MyAssembly
    



    I don't know exactly why it wasn't working before. Clearly the problem was that couldn't find some assemblies. After reading on the Internet I saw an example without the Config.Register function. Seems with the latest version (2.7) you don't need to register assemblies in the GAC. I just commented this function and it worked.

    以下不靠谱

  • 相关阅读:
    ios手机和Android手机测试点区别
    业务下的测试总结
    Mac下web自动化环境部署
    Mac下查找python的安装位置以及第三方库
    简易计算器
    递归
    可变参数
    方法的重载
    方法
    三角形
  • 原文地址:https://www.cnblogs.com/code1992/p/11583232.html
Copyright © 2011-2022 走看看