首页
社区
课程
招聘
[求助]如何获取远程线程函数的返回值
发表于: 2014-3-17 15:27 7981

[求助]如何获取远程线程函数的返回值

2014-3-17 15:27
7981
用CreateRemoteThread在别的进程创建的线程,我想得到远程函数的返回值,怎么获得

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
进程间通讯?  建个pipe
2014-3-17 15:31
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是一个游戏进程
2014-3-17 15:47
0
雪    币: 449
活跃值: (2683)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
WaitForSingleObject(hThread, INFINITE);
DWORD dw_ret = 0;
GetExitCodeThread(hThread,&dw_ret);
2014-3-17 16:03
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我函数返回的是一个结构体变量,该怎么调用GetExitCodeThread  
2014-3-17 16:27
0
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
线程函数的返回值是DWORD,怎么能是结构体?
2014-3-17 17:28
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我现在把函数类型改了,改成结构体,想把函数执行结果通过结构体返回给主程序
2014-3-17 19:50
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
前面说了啊。 你写个进程间通讯啊。   假如你核心的函数是function A()

现在把注入的代码修改掉,

function B()

{

ret = A();
//处理ret
//传递出去

return 0;
}

这样就行了
2014-3-18 00:05
0
雪    币: 190
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看来你们没理解楼主说的意思,他想获取远程线程执行函数的返回结果。
你可以用开辟的远程线程写入空间返回函数的结果。你在执行远程注入时,需要在目标进程中开辟一块内存写入要执行的函数体和传入参数,那么也可通过这片参数内存去返回函数的执行结果啊。

http://bbs.pediy.com/showthread.php?t=184667 此源码包中有一个简单封装的cInjectDll类(cInjectDll.h/.cpp) 其中包含同步和异步远程执行函数功能并可返回函数结果,你可参考下。
2014-3-18 14:55
0
游客
登录 | 注册 方可回帖
返回
//