Windows应用程序的运行模式是基于消息驱动的,任何线程只有注册了消息类都有一个消息队列来接收用户的输入消息和系统消息。为了取得特定线程接收或发送的消息,就要用的Windows提供的钩子。
1.把代码注入不同的进程地址空间。
2.在该进程的上下文中执行注入的代码。
得到另外一个进程的密码通常有三种可能性来解决这个问题:
1.将你的代码放入某个dll,然后通过Windows钩子映射该dll到远程进程;
2.将你的代码放入某个dll,然后通过CreateRemoteThread和LoadLibrary技术映射该dll到远程进程;
3.如果不写单独的dll,可以直接将你的代码拷贝到远程进程--通过WriteProcessMemory--并CreateRemoteThread启动它的执行。
通常,任何进程都可以通过LoadLibrary API动态加载dll。但是,如何强制一个外部进程调用这个函数呢?答案是:CreateRemoteThread。
posted on 2012-08-28 23:22
寻步 阅读(353)
评论(0) 编辑 收藏 引用