能力值:
( LV13,RANK:530 )
|
-
-
2 楼
说的很清楚了可以结束任务。 任务解释了自然进程就结束了。
没有什么好解释的 就是FindWindow --〉调用EndTask这个API。
不过感觉好麻烦 难道15种方法就去建立15个工程~~~~ 工程文件和 执行文件在附件里面
现在努力发掘Ring3的方法。
|
能力值:
( LV13,RANK:530 )
|
-
-
3 楼
HANDLE hToken;
::OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hToken);
BOOL bSus;
bSus = ::SetPrivilege(hToken,SE_DEBUG_NAME,TRUE);
HWND hWnd = ::FindWindowA(NULL,"CrackMeApp");
printf("SetPrivilege %s \r\n",bSus ? "Done" : "Failed");
DWORD dwThreadId;
dwThreadId= ::GetWindowThreadProcessId(hWnd,NULL);
HANDLE hThread = OpenThread(THREAD_ALL_ACCESS,FALSE,dwThreadId);
::TerminateThread(hThread,NULL);
printf("TerminateThread :%d \r\n",GetLastError());
大概就是这样
驱动拦截了 OpenProcess可以没有拦截OpenThread...所以。直接把主线程杀掉就完成任务了。
|
能力值:
( LV13,RANK:530 )
|
-
-
4 楼
方法很简单 就是恢复 SSDT .只不过说用PhysicalMemory罢了.
思路也很明显.
在用户层载入\\ntoskrnl.exe
找到KeServiceDescriptorTable然后
计算物理内存对应的地址.
比较一下
然后在写进去就是了
然后直接用OpenProcess即可完成目标任务
|
|
|