- 1
- 0
- 约 6页
- 2018-03-24 发布于重庆
- 举报
向其它进程植入代码x-GoogleCode
向其它进程植入代码如何用该技术子类(subclass)一个远程控件示例程序:InjectEx??? 让我们来讨论一个更复杂的问题:如何子类属于其他进程的一个控件???? 首先,要完成这个任务,你必须复制两个函数到远程进程:??? 1.?ThreadFunc,这个函数通过调用SetWindowLong API来子类远程进程中的控件,??? 2.?NewProc, 那个控件的新窗口过程(Window Procedure)。??? 然而,最主要的问题是如何传递数据到远程的NewProc。因为NewProc是一个回调(callback)函数,它必须符合特定的要求(译者注:这里指的主要是参数个数和类型),我们不能再简单地传递一个INJDATA的指针作为它的参数。幸运的我已经找到解决这个问题的方法,而且是两个,但是都要借助于汇编语言。我一直都努力避免使用汇编,但是这一次,我们逃不掉了,没有汇编不行的。解决方案1看下面的图片:???? 不知道你是否注意到了,INJDATA紧挨着NewProc放在NewProc的前面?这样的话在编译期间NewProc就可以知道INJDATA的内存地址。更精确地说,它知道INJDATA相对于它自身地址的相对偏移,但是这并不是我们真正想要的。现在,NewProc看起来是这个样子:static LRESULT CALLBACK NewProc(? HWND h
原创力文档

文档评论(0)