注册 登录
编程论坛 汇编论坛

菜鸟请教 罗云彬的第13章远程线程注入问题

csdn2006 发布于 2015-05-15 00:18, 4499 次点击
看了几天老罗的第13章 都没搞明白 就是远程线程的注入 纯代码的注入 我们自己写的程序运行起来时是本地进程 当我们把远程线程代码写进目标程序后 远程代码的执行应该就是目标进程在执行代码吧 本地进程创建远程线程就是打开远程线程了 打开后目标进程执行我们拷贝进去的代码 那我们的远程线程代码中应该可以直接使用API啊 虽然老罗说DLL在不同进程中装入位置不一样 但远程代码中直接使用API 系统会按目标进程的dll 直接获取API函数地址使用就可以了 跟我们本地进程无关系 为啥还需要手动导入dll和获取函数地址  难道我们创建的远程线程还是在本地进程中执行的吗 求解中 谢谢
4 回复
#2
csdn20062015-05-15 00:37
回复 楼主 csdn2006
如果这个线程就是本地进程的线程 只是在目标进程中执行 那么它直接获取本地的API使用就是了 如果是目标进程的线程 那直接获取目标中API的地址  为啥还要手动导入

进程的地址空间是隔离的 代码写进目标进程 在目标进程中执行 那这个线程应该属于目标进程的啊

这个问题要把我弄疯了 速救 谢谢

[ 本帖最后由 csdn2006 于 2015-5-15 00:44 编辑 ]
#3
取名字2015-05-18 08:57
很久没看了,对于楼主的疑惑,大致分析如下:
远程线程注入程序要将远程线程代码注入目标进程,首先自己就要运行,而当自己被加载入内存执行时,系统会将程序中对于API函数的调用填入本进程中该函数的实际地址,包括远程线程代码。
但是远程线程代码是在目标进程中运行的,而不同进程的空间是不同的,即API函数地址是不同的,为了让远程线程代码在目标进程中运行,就必须手动获取其中用到的所有API函数地址。
希望以上的分析可以帮到楼主。
#4
csdn20062015-05-20 01:37
楼上正解 谢谢楼上的帮助和耐心的回答 真是我们菜鸟的福音
1