最好有详细并带注视的代码另外谁比较了解的能解释下线程对应的CPU寄存器和进程对应的CPU寄存器有什么区别吗?
一般获取其它窗口的内存信息,是用进程句柄还是用线程PID的?

解决方案 »

  1.   

    寄存器这类东西,你可以上看雪去问问,另外就是各种调用方式,比如stadcall,register call这类,这些调用方式也会影响寄存器的值
      

  2.   

    我有汇编代码了,代码里需要寄存器的值,我现在只要能根据窗口句柄能得到eax的值就可以了谁有办法吗?
      

  3.   

    进程就好比一个盒子,他里面包含着线程以及一些资源,进程不负责执行代码,真正执行代码的是线程,所以进程没有所谓的寄存器值。通过窗体句柄可以得到目标进程的进程ID、线程ID,如果你想得到窗体所在线程的句柄,可以通过枚举目标进程的线程来得到估计你的目地是想控制或者目标进程,这需要对目标进程下断点,在断点处得到的寄存器值才有意义
    或者,你可以采用另外一种方式:先远程注入到目标进程中一个dll,然后通过这个dll获得目标进程中的相关信息,再把信息发送给你的控制程序,这样可能相对容易些,毕竟远程注入的程序在网上到处都是,呵呵
      

  4.   

    谢谢楼上的这么详细的解释我的打算是写程序来完成CE tutorial中的例子根据CE能够查看到汇编语句,那我应该如何下断点呢?如何在断点处获取寄存器的值呢?
    有相应的代码吗?我以前用VB的,结果发现VB在这方面基本没有做为,因此想用delphi做个dll,只要能取到相应断点处的寄存器的值,我就可以用程序在该内存地址处进行修改了
      

  5.   

    哪个高手给个代码啊!CE这个程序不是就能够读取寄存器的值得么?据说CE是用Delphi写的
      

  6.   

    http://www.2ccc.com/article.asp?articleid=4687