能力值:
( LV12,RANK:470 )
|
-
-
2 楼
据说在createremotethread远程注入得线程里面不能MessageBox
没有证实。。你换个api
比如debugstring之类得看看
或者记录到文件
|
能力值:
( LV9,RANK:220 )
|
-
-
3 楼
MessageBox是可以用的~~
当我把HANDLE hThread = CreateThread (NULL, NULL, foo, NULL, NULL, NULL);这一句注释掉,就一切正常了。
可是我要怎么建立一个线程呢?
|
能力值:
( LV9,RANK:250 )
|
-
-
4 楼
应该是hThread的问题
|
能力值:
( LV13,RANK:530 )
|
-
-
5 楼
StackSize.
|
能力值:
( LV9,RANK:220 )
|
-
-
6 楼
楼上可不可以说的明白一点?
stacksize参数传0,MSDN上面写是采用默认值。
应该怎么改?
|
能力值:
( LV5,RANK:60 )
|
-
-
7 楼
把 MessageBox (NULL, TEXT("a"), TEXT("a"), 0 );
这一句去掉
|
能力值:
( LV12,RANK:230 )
|
-
-
8 楼
你的CloseThread (hThread);是Win32 API吗,我怎么在MSDN里找不到?
应该是CloseHandle(hThread);啊。
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
MessageBox (NULL, TEXT("a"), TEXT("a"), 0 );
这句代码能够执行与否,取决explorer.exe是否加载user32.dll这个动态链接库,当然好像explorer.exe是加载了的,但是比如注入到winlogon.exe那就不行了。
具体创建线程问题,还需再想想。如果楼主解决了,希望能告诉大家。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
#include <windows.h>
DWORD WINAPI foo( LPVOID lpParameter )
{
MessageBox (NULL, TEXT("b"), TEXT("b"), 0);
return 0;
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
HANDLE hThread;
if ( fdwReason == DLL_PROCESS_ATTACH )
{
MessageBox (NULL, TEXT("a"), TEXT("a"), 0 );
hThread = CreateThread (NULL, 0, foo, NULL, 0, NULL);
CloseHandle (hThread);
}
if ( fdwReason == DLL_PROCESS_DETACH )
{
TerminateThread(hThread,0);
}
return TRUE;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
在VC6测试了下,没发现问题!
|
|
|