首页
社区
课程
招聘
[原创]Windows系统程序设计之插入DLL和挂接API
2006-6-12 03:47 29367

[原创]Windows系统程序设计之插入DLL和挂接API

2006-6-12 03:47
29367
收藏
点赞7
打赏
分享
最新回复 (58)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jiangqixdu 2006-8-15 20:56
51
0
为什么不能下载代码?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yxt 2006-8-23 21:04
52
0
这个方式只挂接地址在2GB内的DLL,如果是2G地址以上的DLL就无能为力了,希望楼主讲讲这些方面的。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
醉酒 2006-8-25 09:40
53
0
最初由 bookworm 发布
1。一般的方法使用CreateRemoteThread()在目标进程中创建一个thread,让该thread来LoadLibrary(你的DLL)。

到目前为止我在网上看到的该方法的实现代码都基本上雷同,一个共同的大前提是假定在你的process和目标process里,LoadLibrary(A/W)的entry point是一样的。因为LoadLibraryA/LoadLibraryW是kernel32.dll输出的,而该DLL一般而言在不同的进程的virtual memory space里是在同样的地方(不同的Windows版本倒是有可能不同),不太会被rebase。所以看看你自己的进程里LoadLibrary的起始地址,就可以假定目标进程的LoadLibrary也是同样的起始地址。

2。用GetProcAddress()可以得到API的起始地址。但kernel32.dll是可以被rebase的,如果你的进程或者目标进程里的该DLL ImageBase变了,你的代码插入程序不会有事情,创建的远程线程倒是会垮掉。
........


兄弟,你提供的微软的东西不错,感谢
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ChenA 2006-9-4 19:29
54
0
最初由 bookworm 发布
1。一般的方法使用CreateRemoteThread()在目标进程中创建一个thread,让该thread来LoadLibrary(你的DLL)。

到目前为止我在网上看到的该方法的实现代码都基本上雷同,一个共同的大前提是假定在你的process和目标process里,LoadLibrary(A/W)的entry point是一样的。因为LoadLibraryA/LoadLibraryW是kernel32.dll输出的,而该DLL一般而言在不同的进程的virtual memory space里是在同样的地方(不同的Windows版本倒是有可能不同),不太会被rebase。所以看看你自己的进程里LoadLibrary的起始地址,就可以假定目标进程的LoadLibrary也是同样的起始地址。

2。用GetProcAddress()可以得到API的起始地址。但kernel32.dll是可以被rebase的,如果你的进程或者目标进程里的该DLL ImageBase变了,你的代码插入程序不会有事情,创建的远程线程倒是会垮掉。
........

这位高手能不能详细讲讲怎么得到dll注入后的函数地址?我的dll注入explorer后调用系统的api全是错的。
谢谢。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
summon 2006-9-6 21:07
55
0
非常经典的文章,浅显易懂,比codeproject文章容易理解,感谢楼主,向楼主学习!
雪    币: 884
活跃值: (4095)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
kagayaki 2006-9-12 06:44
56
0
顶啊........
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
leop 2006-9-12 19:28
57
0
太多的好东西了!终于被我发现了。学习!学习
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
winapi 2006-9-13 20:35
58
0
非常感谢
绝对支持
每天回帖
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
呆哥哥 2006-11-2 21:24
59
0
看到楼主的这篇文章及提供的源程序,真是感动,终于感觉到“学院”是名符其实的了。看完所有的回贴,感觉这里高手如云!49楼也是强中之强。很希望高手们都能写类似的文章:易懂,且最重要的是提供了源代码!因为看不懂的地方还可以再研究源代码!真是感谢!!!!
游客
登录 | 注册 方可回帖
返回