小弟把一个DLL利用远程线程注入到某进程的地址空间(我用notepad.exe测试),注入成功后远程线程开始运行,其中线程函数的功能是创建一个socket服务端,然后等待客户端连接并接收命令;我在另一个程序里创建了socket客户端并成功的连接到服务端,但是出现了问题:向服务端发送任意字符或关闭客户端程序是都会导致Windows关机或死机(前提是客户端socket必须连接到服务端),请问这会是什么原因呢?

解决方案 »

  1.   

    其实注入dll可能被监视软件发现,其实可以在 一个进程里面 开辟一个空间,再将机器码注入那个空间。然后CreatRomoteThread那段机器嘛。作为一个兴建的活动线程,机器嘛的开头是重定位。和病毒一样。那段代码里面还装入了LoadLibrary,等api的指针,因为这些指针是对于任何一个进程是固定的。然后动态装入注入的代码所需的dll.就可以神不知鬼不觉,任何查进程的软件只会发觉一个进程多了一个活动线程。
    我正在写这种隐藏方式的服务器端
      

  2.   

    我觉得你的这个问题与注入本身没多大关系,问题可能出现在你的Socket相关的代码中。