首页
社区
课程
招聘
[求助]A进程调用B进程call的一个问题
发表于: 2007-5-6 10:37 4191

[求助]A进程调用B进程call的一个问题

2007-5-6 10:37
4191
比如说有2个程序
我编写的是A程序,现在我要循环调用B进程里面的一个call
我是通过编写一个dll然后hook注入B的。
现在就有一个问题,我用的是键盘hook,当我按对应键的时候可以调用这个call
但是当我在A程序里设置一个定时器,然后在A里定时器回调函数调用这个call就失败,这个改怎么解决?是在A程序里创建一个远程线程到B进程中,然后通过这个远程线程再调用这个call嘛?
如果是的话,那这个远程线程的函数应该是写在DLL里,还是A程序里?
请各位老师指点指点

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
对于定时器的回调函数,因为是被系统调用的,那么只能是调用设置定时器的进程空间内的地址
我觉得是不是可以不设回调函数,而是用对WM_TIMER消息的响应取而代之
这样应该可以

对于你后面说的远程线程,一般采取的方法是DLL,当然如果线程的工作不是很复杂,而你对二进制代码了解够深的话,可以直接先向B进程的地址空间写一段数据(类似于ShellCode的东西),从而省掉DLL,伪代码大体如下:
// in A process
extern BYTE ThreadCode[];
Addr = VirtualAllocEx ( handleB, size );
WriteProcessMemory ( handleB, Addr, ThreadCode, size );
hThread = CreateRemoteThread ( handleB, Addr, ... );
...
2007-5-6 13:54
0
游客
登录 | 注册 方可回帖
返回
//