用CreateRemoteThread LoadLibrary注入的DLL创建的线程如何与插入进程取得联系?似乎无法在注入时提供参数

解决方案 »

  1.   

    注入时显然无法传递参数。一般注入了以后就是为了让它在被注入的进程干活。如果非要通信的话,不妨在远程线程里跟创建线程创建管道或者TCP链路。
      

  2.   

    DLL代码里面加个数据节点#prama data_seg("csdn")
    HWND g_hwnd =NULL;
    #prama data_seg()这样可以的不
      

  3.   

    传递句柄楼上的方式可以,不过应该再加上linker共享设置
      

  4.   

    可以自己个函数RemoteProc,当CreateRemoteThread的参数
    参数用个struct,把自己的dll名字、导出函数名、LoadLibrary、GetProcAddress的地址全部存在里面
    然后用VirtualAllocEx,和WriteProcessMemory把自己的RemoteProc及struct的参数全部写如目标进程
    计算RemoteProc的代码大小一般可以用紧跟后面的函数的函数地址减去RemoteProc的地址
    然后RemoteProc中写代码调用你的dll中的导出函数(记住,LoadLibrary、GetProcAddress的地址用参数中的,其中不要使用其他API函数)
      

  5.   

    代码注入就有点麻烦了,DLL函数还得一个一个获取