能力值:
( LV4,RANK:50 )
|
-
-
2 楼
MSVCR90D.dll文件损坏?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
感谢回帖,应该不是,其他程序直接loadlibray MSVCR90D.dll,都可以,只是注入远程进程 CreateRemoteThread 的时候,返回总是失败。有没有人发现这个情况?
我现在在做一个免DLL注入,因为有DLL包含这样MSVCR90D.dll,我将DLL代码注入进去之后,如果远程进程不加载MSVCR90D.dll,我注入的DLL,就会有问题,但是让远程进程加载MSVCR90D.dll,总是不成功。不知道为什么?
|
能力值:
( LV5,RANK:60 )
|
-
-
4 楼
DLL包含MSVCR90D.dll,不需要你去让进程先加载MSVCR90D.dll才能加载上这个DLL的
直接LoadLibrary这个DLL就是可以,系统会自己去加载MSVCR90D.dll的
至于你为什么直接注入不了DLL,找原因别乱折腾,可以挂上目标进程调试一下,看看GetLastError,这个非常有意义
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
不是这个意思,我是将 DLL的代码直接注入到别的进程中,重定位,实现一个LoadPE的过程。但是DLL中包含有一些自身需要的DLL,所以需要先在远程进程中先加载之后,才能把DLL代码直接注入进去。DLL包含的其他几个DLL都可以通过CreateRemoteThread 加载,但是唯独MSVCR90D.dll不能。不知道为什么有没有人试一下,直接写程序注入MSVCR90D.dll,也是无法成功的。
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
还是建议你的LoadPE改进一下,像系统一样自己先loadlibrary引入表的dll的
然而MSVCR90D.dll不能,你还是想办法查看系统GetLastError哦
方法可以用OD先挂上目标进程,然后下断点那个LoadLibraryW的函数(就是你CreateRemoteThread是指定LoadLibraryW吧 ),然后断下来后,执行完返回时,看OD右边窗口那个LastErr的值
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
确实注入不进去!有个错误的提示!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢,提示。
ERROR_MOD_NOT_FOUND (0000007E)
确实是模块没找到
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
LZ还是考虑下4L所说的
可能就是这个原因
一个进程所需要用到的DLL,PE装载器会自动把DLL映射过去
进程启动之后,初始化完毕
如果这时候LZ远程线程CreateRemoteThread加载一个已经映射的DLL
只会增加DLL引用次数,所以CreateRemoteThread会失败...
总之一个进程加载了某个DLL,第二次再加载就会失败,并增加引用次数...
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
拷贝过去的完整模块名字串是否正确呢?
包含路径名和模块名...
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
发现MSVCR90D.dll无法远程注入,有个R6034的错误,可是如果注入一个引用它的DLL,却是可行的,好奇怪啊。
|
能力值:
( LV5,RANK:60 )
|
-
-
12 楼
感觉你说的不对
CreateRemoteThread不会失败,第二次加载已经映射的dll,照样成功,并增加了引用计数
|
能力值:
( LV4,RANK:50 )
|
-
-
13 楼
这个DLL不是让你直接加载的 只能用导入表加载
|
能力值:
( LV4,RANK:50 )
|
-
-
14 楼
好的,偶抽空测试下,看CreateRemoteThread加载已经映射过的dll,调用是否会失败...
|
|
|