注册 登录
编程论坛 VC++/MFC

远程代码注入执行被注入进程的函数?

yang0401 发布于 2014-05-23 15:45, 1060 次点击
研究一天终于知道了怎么注入记事本弹出messagebox窗口了,现在有个疑问就是怎么执行被注入进程的函数呢?怎么获得被注入进程的函数地址?怎么获取参数?
求助大神!最好能提供例子研究下。
例如我自己的程序有一个skill()函数,程序本身不运行这个函数。怎么通过远程注入代码让他运行?
4 回复
#2
yuccn2014-05-23 21:34
简单点可以来个消息钩子
或者,远线程注入
父子进程的,可以用 修改esp 办法。微软有一套 dt库的

你说获取函数地址,是指挂钩吧。
#3
yang04012014-05-26 10:40
回复 2 楼 yuccn
不是很了解你说的方法。我是通过CreateRemoteThread注入执行自己的函数代码。
我想知道怎么通过CreateRemoteThread注入执行被注入进程的代码?最重要的是这个这个进程的函数地址怎么获得?获取后就可以利用CreateRemoteThread添加自己的参数执行。
#4
yuccn2014-05-28 14:04
以下是引用yang0401在2014-5-26 10:40:36的发言:

不是很了解你说的方法。我是通过CreateRemoteThread注入执行自己的函数代码。
我想知道怎么通过CreateRemoteThread注入执行被注入进程的代码?最重要的是这个这个进程的函数地址怎么获得?获取后就可以利用CreateRemoteThread添加自己的参数执行。


1 通过CreateRemoteThread 向目标进程注入,只做一件事情,就是加载一个dll,这个dll是你创建的。
2 在dll 中做挂钩函数操作,把你关注的函数挂钩,你想怎么替换参数都可以了
#5
yuccn2014-05-28 14:07
你要明白,注入和挂钩是两个不同的技术来的。注入简单的说就是你成功的把一段你的代码给目标进程执行了,挂钩 就是类似接管了目标进程(你关注)的api,以达到改变参数 ,阻断,拦截,重定向等目的
1