小弟向一个程序注入一个程序 代码如下:procedure zhuru();stdcall;
var
zhucedizhi:=$33ba21;
begin
      asm
        call zhucedizhi
      end;
end;
如果加上判断就不行了:
procedure zhuru();stdcall;
var
zhucedizhi:=$33ba21;
begin
   if zhuru1=true than
    begin
      asm
        call zhucedizhi
      end;
    end;
end;
zhuru1是我定义的一个全局变量 是不是注入的时候zhuru1再寄主程序里没有地址?另外诸如函数是只执行asm end里的汇编还是整个函数都是在寄主程序里执行啊?  谢谢!

解决方案 »

  1.   

    随便找本书看看关于 windows 进程空间的东西,这都是没法再基础的问题了
      

  2.   

    看看windows核心编程吧,有些问题实在是有点……
    整个函数,肯定是在自己程序分配的内存空间里面运行的,不可能无缘无故跑到其他进程的内存空间里面去,注入其实是强制指针指向其他程序地址,然后写入