能力值:
( LV2,RANK:10 )
|
-
-
2 楼
NtCreateRemoteThreadEx
|
能力值:
( LV10,RANK:163 )
|
-
-
3 楼
如果是win7 x64,CreateRemoteThread不成功,请在Openprocess的时候使用PROCESS_ALL_ACCESS
|
能力值:
( LV4,RANK:40 )
|
-
-
4 楼
NtCreateThreadEx不是该有一个返回值吗
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我就是用的这个函数啊,就是这个函数执行错误。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我打开进程的时候就是用的这个属性。还是错误,而且很奇葩,错误码打印出来是0,错误码为0 该正确才对啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
的确有一个返回值,但是那个返回值不是开启的线程句柄,现在句柄在一个out参数里面,所以我就没用这个返回值。但是最后执行完这个函数,发现out的那个线程句柄为NULL,就是没开启成功,但是错误码为0 啊。。。。 求指点。
|
能力值:
( LV4,RANK:40 )
|
-
-
8 楼
NTSTATUS系列函数返回值为0都是成功的吧,或者说你线程创建完后看NtTerminateThread成功与否
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
的确返回值是0,但是为什么获取到的线程句柄会为NULL呢?
|
能力值:
( LV4,RANK:40 )
|
-
-
10 楼
待会去反来看看,个人估计原因应该是:1.同异步/2.创建的线程不在本进程
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
我上传了附件,求大大帮忙看看。。。。
|
能力值:
( LV4,RANK:40 )
|
-
-
12 楼
调试了N++遍两个函数都能获取hThread
而且你的代码不太规范,好像这句:CloseHandle(hModule) //kernel32.dll,你想干嘛?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
|
能力值:
( LV4,RANK:40 )
|
-
-
14 楼
暂时分析到nt!PspInsertThread,你在nt!PspInsertThread+0x66e(偏移都一样的吧 )下个断看看,两个cmp应该有一个会小于0;我认为可能有函数被hook了。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
恩恩,好的,看来只有慢慢来解决了。。。
|
能力值:
( LV4,RANK:40 )
|
-
-
16 楼
其实你可以把内核发上来,替换内核后应该也同样有这种情况。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
|
能力值:
( LV4,RANK:40 )
|
-
-
18 楼
就是\system32\ntkrnlpa .exe,有了文件分析容易多了
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
搜索系统文件夹,居然没得这个。。。。怎么办?
|
能力值:
( LV6,RANK:80 )
|
-
-
20 楼
确定hProcess有PROCESS_ALL_ACCESS权限
NtCreateThreadEx(&hRemoteThread,THREAD_ALL_ACCESS,NULL,hProcess,&LoadLibraryW,pvRemoteBuffer,0,0,0,0,NULL);
不成功你抽我。
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,ProcessID);
我打开进程的函数是这么写的,真心是PROCESS_ALL_ACCESS啊。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
兄弟问题解决了吗?我也遇到了同样的问题啊,openprocess返回为null,你是怎么解决的啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
我在自己电脑上运行你的程序注入自己写的dll和你写的dll都能成功啊,win7 32位,运行没问题
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
我的是64位。所以可能函数不一样了,安全性变高了。
|
能力值:
( LV1,RANK:0 )
|
-
-
25 楼
目标进程是64位,需要Injector和Dll都是64位。目标进程是32位,需要Injector和Dll都是32位。
|
|
|