agopoe吧 关注:35,985贴子:549,306

回复:C++钩子注入教程

取消只看楼主收藏回复

bx_win32文件如此


IP属地:广西21楼2017-06-09 01:38
回复
    然后就可以生成解决方案,生成路径如下。


    IP属地:广西22楼2017-06-09 01:41
    回复
      然后登陆游戏,win8,win10管理模式运行,按两次HOME呼出


      IP属地:广西23楼2017-06-09 01:51
      回复
        有问题,欢迎电邮yangk@agopoe.com,大家共同进步,共同成长,这里的过三方就不开源了,但是断链是可以用在这上面,使用方法如11楼hide


        IP属地:广西24楼2017-06-09 01:55
        回复
          源码链接:链接: http://pan.baidu.com/s/1eSJ1DiM 密码: ug7w


          IP属地:广西25楼2017-06-09 01:58
          回复
            NT_TEB* GetCurrentThreadTEB()
            {
            NT_TEB* pTeb = NULL;
            _asm
            {
            mov eax, fs:[0x18]
            mov pTeb, eax
            }
            return pTeb;
            }
            // 隐藏DLL,断链,抹掉PE头ImageBase
            VOID DNF_DLL_Hide(HMODULE hMod)
            {
            NT_TEB* pTeb = GetCurrentThreadTEB();
            NT_PEB* pPeb = pTeb->Peb;
            PPEB_LDR_DATA pLdrData = pPeb->LoaderData;
            PLDR_MODULE ListHead = (PLDR_MODULE)(&(pLdrData->InLoadOrderModuleList));//获取模块头部
            PLDR_MODULE pFirstLdrModule = (PLDR_MODULE)pLdrData->InLoadOrderModuleList.Flink;
            PLDR_MODULE pLdrModule = pFirstLdrModule;
            while (pLdrModule != ListHead)
            {
            if (pLdrModule->BaseAddress == hMod)
            {
            pLdrModule->InLoadOrderModuleList.Flink->Blink = pLdrModule->InLoadOrderModuleList.Blink;
            pLdrModule->InLoadOrderModuleList.Blink->Flink = pLdrModule->InLoadOrderModuleList.Flink;
            pLdrModule->InMemoryOrderModuleList.Flink->Blink = pLdrModule->InMemoryOrderModuleList.Blink;
            pLdrModule->InMemoryOrderModuleList.Blink->Flink = pLdrModule->InMemoryOrderModuleList.Flink;
            pLdrModule->InInitializationOrderModuleList.Flink->Blink = pLdrModule->InInitializationOrderModuleList.Blink;
            pLdrModule->InInitializationOrderModuleList.Blink->Flink = pLdrModule->InInitializationOrderModuleList.Flink;
            }
            pLdrModule = (PLDR_MODULE)pLdrModule->InLoadOrderModuleList.Flink;
            }
            //抹掉PE头信息
            HMODULE hModule = hMod;
            DWORD dwMemPro = NULL;
            VirtualProtect((void*)hModule, 0x1000, PAGE_EXECUTE_READWRITE, &dwMemPro);
            memset((void*)hModule, 0, 0x1000);//把DLL前面1000个字节全部填充为0
            VirtualProtect((void*)hModule, 0x1000, dwMemPro, &dwMemPro);
            }
            这是由某位大神百度来的断链。


            IP属地:广西40楼2017-06-11 00:55
            收起回复
              HMODULE hModule = GetModuleHandle(L"bx_Hide.dll");//DLL的名称
              DNF_DLL_Hide(hModule)放到DLL入口函数
              入口函数是:keyboardProc (PS:如果找不到,请搜这个函数即可)


              IP属地:广西41楼2017-06-11 00:57
              回复