假设A程序是常规应用程序(使用标准的方法分配和使用内存,并在用户模式下运行)
方法1:在B程序中启动A程序,并获得A程序正常运行已分配保留的内存空间,将A程序未分配的进程虚拟空间全部分配保留(注意千万不要提交,否则会撑死你的机器),其他程序再也无法获得A程序的进程空间,它也就无法再注入A进程了。优点:简单,B程序几乎没有资源消耗。缺点:A进程自己要扩大堆内存虚拟空间也会失败(但常规应用程序一般不会出现堆扩大)。
方法2:在B程序中启动A程序,并获得A程序正常运行的线程,定时监视A程序线程,发现有新线程创建,就把它终止掉,因为注入程序往往需要在A进程创建自己的线程,否则不能在A进程中运行。优点:克服方法1的缺点。缺点:不适合A进程线程数不定的情况。
方法3:将1与2结合使用,改进1的智能程度,拦截空间分配异常中断,是A进程正常线程即释放给它,否则就饿死它。
假设A程序是常规应用程序(使用标准的方法分配和使用内存,并在用户模式下运行)
方法1:在B程序中启动A程序,并获得A程序正常运行已分配保留的内存空间,将A程序未分配的进程虚拟空间全部分配保留(注意千万不要提交,否则会撑死你的机器),其他程序再也无法获得A程序的进程空间,它也就无法再注入A进程了。优点:简单,B程序几乎没有资源消耗。缺点:A进程自己要扩大堆内存虚拟空间也会失败(但常规应用程序一般不会出现堆扩大)。
直接把A.exe丢进虚拟机,电脑上的就注入不了,连B.exe都省了
这个......我也不怎么会......你去卡饭吧,这儿的"大神"很少.