首页
社区
课程
招聘
[求助]CreateRemoteThread 成功,但是查看不到DLL模块。功能也无法使用。
发表于: 2013-4-12 15:53 6848

[求助]CreateRemoteThread 成功,但是查看不到DLL模块。功能也无法使用。

2013-4-12 15:53
6848


DLL是一个钩CreateProcess的小玩意。

编译环境 Win7 64Bit + VS2010

EXE和DLL都是x64文件。

EXE也提示注入成功。CreateRemoteThread应该是没什么问题。

但是我注入过后用PC_Hunter查看Explorer.exe(目标进程)。

却发现并没有自己的DLL在列表里面,很是奇怪。。。

无解了,也翻不到什么资料,所以只好来求助。。

希望有心人能解答一下。。。

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
2
LoadLibrary的地址对么?
LoadLibrary需要的参数写入了目标进程了么?
LoadLibrary的参数写的是绝对全路径么?
目标进程是x64程序么?
2013-4-12 16:14
0
雪    币: 70
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
	HMODULE hModuleKernel32 = GetModuleHandle(L"kernel32.dll");
	LPTHREAD_START_ROUTINE lpLoadLibraryAddr = (LPTHREAD_START_ROUTINE)GetProcAddress( hModuleKernel32, "LoadLibraryW" );
	if( lpLoadLibraryAddr != NULL )
	{

		HANDLE hRemote = CreateRemoteThread( hProcess, NULL, 0, lpLoadLibraryAddr, lpDllNameAddr, 0, NULL );
		if( hRemote != NULL )
		{

			WaitForSingleObject( hRemote, INFINITE );
			CloseHandle( hRemote );

		}

	}




这不都是通用的法子么。。。

在Win7 64bit下,Explorer.exe 应该也是64的吧。。。

难道这样获取的地址会是错误吗?

刚学习。。。非常感谢您能来解答。。。
2013-4-12 19:36
0
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
lpDllNameAddr写到目标程序了么
2013-4-12 20:05
0
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
5
+1
+++++
2013-4-12 21:31
0
雪    币: 66
活跃值: (203)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
每一步执行之后都打印信息,这样就可以找到问题所在了
嗯,r3 直接调试一下看看执行到哪一步失败就可以了
2013-4-12 21:32
0
雪    币: 70
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
灰常感谢各位捧场,貌似还真是路径的问题。

之前的程序抄过来是LoadLibraryW,刚才顺手改成了,LoadLibraryA就好使了,果然这不能混

合字符串啊,问题大大地。。。
2013-4-13 02:20
0
雪    币: 224
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感谢楼上 确实是多字节 和 宽字节的问题
2020-10-12 22:09
0
游客
登录 | 注册 方可回帖
返回
//