首页
社区
课程
招聘
关于CreateRemoteThread的问题
发表于: 2008-8-27 16:05 4840

关于CreateRemoteThread的问题

2008-8-27 16:05
4840
HANDLE CreateRemoteThread(
  HANDLE hProcess,
  LPSECURITY_ATTRIBUTES lpThreadAttributes,
  SIZE_T dwStackSize,
  LPTHREAD_START_ROUTINE lpStartAddress,
  LPVOID lpParameter,
  DWORD dwCreationFlags,
  LPDWORD lpThreadId
);

lpStartAddress
[in] Pointer to the application-defined function of type LPTHREAD_START_ROUTINE to be executed by the thread and represents the starting address of the thread in the remote process. The function must exist in the remote process.

我在进程A中调用CreateRemoteThread在进程B中创建个线程。lpStartAddress必需是进程B中函数的地址。那么我在进程A中如何能知道进程B中函数的地址呢?请大家指点一下:)

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
自己写一个进去~

或者用点每个进程都有的dll中的某些函数。那样自己GetProcAddress即可。
2008-8-27 16:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这些方法听说过,那么微软是要让程序员用哪种方法呢?即正常情况下该函数这两个参数的用法?
2008-8-28 08:36
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
4
通常情况下是先调用VirtualAllocEx在目标进程分配内存,然后将代码用WriteProcessMemory写入远程进程,最后再调用CreateRemoteThread创建远程线程

当然也可以直接调用CreateRemoteThread直接运行目标进程中指定地址的原有的代码,但不建议这么做
2008-8-28 09:18
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
似乎没见过做正经事的。。。



LoadLibaryA/W、ExitThread/Process。
2008-8-28 13:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你是否绝得loadlibary与线程函数很象啊??
其实你可以用loadlibary作为参数,然后用WriteProcessMemory将dll地址写入目标进程地址
2008-8-29 13:17
0
游客
登录 | 注册 方可回帖
返回
//