Недокументированная функция WinStationTerminateProcess
От: ABar Украина  
Дата: 24.11.04 12:23
Оценка:
Помогите пожалуйста найти прототип недокументированной
функции WinStationTerminateProcess (находится в winsta.dll).
Была предпринята попытка поиска, и обнаружены такие вот ссылки:
http://www.xaml.net/articles/dll-api.aspx?dll=winsta
http://www.wilderssecurity.com/showthread.php?t=35119
http://www.wilderssecurity.com/showthread.php?t=54890.
Но нигде нет ее прототипа.
Re: Недокументированная функция WinStationTerminateProcess
От: Злость Россия  
Дата: 24.11.04 13:51
Оценка: 1 (1)
Здравствуйте, ABar, Вы писали:

AB>Помогите пожалуйста найти прототип недокументированной

AB>функции WinStationTerminateProcess (находится в winsta.dll).
AB>Была предпринята попытка поиска, и обнаружены такие вот ссылки:
AB>http://www.xaml.net/articles/dll-api.aspx?dll=winsta
AB>http://www.wilderssecurity.com/showthread.php?t=35119
AB>http://www.wilderssecurity.com/showthread.php?t=54890.
AB>Но нигде нет ее прототипа.

А не кажется вам что документированная функция WTSTerminateProcess, вам что-то напоминает? Используем полет мысли и читаем MSDN.

И нахудой конец если мне не верите

76F526B9 public WTSTerminateProcess
76F526B9 WTSTerminateProcess proc near
76F526B9
76F526B9 arg_0 = dword ptr 4
76F526B9 arg_4 = dword ptr 8
76F526B9 arg_8 = dword ptr 0Ch
76F526B9
76F526B9 push [esp+arg_8]
76F526BD push [esp+4+arg_4]
76F526C1 push [esp+8+arg_0]
76F526C5 call WinStationTerminateProcess
76F526CA movzx eax, al
76F526CD retn 0Ch
76F526CD WTSTerminateProcess endp ; sp = -0Ch
76F526CD
76F526D0 ; Exported entry 29. WTSVirtualChannelOpen
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re[2]: Недокументированная функция WinStationTerminateProces
От: ABar Украина  
Дата: 25.11.04 13:55
Оценка:
Здравствуйте, Злость, Вы писали:

З>А не кажется вам что документированная функция WTSTerminateProcess, вам что-то напоминает? Используем полет мысли и читаем MSDN.


З>И нахудой конец если мне не верите ...(дизасемблирование)...


Во-первых, спасибо за ответ,
Во-вторых, похоже на правду, по крайней мере процесс действительно завершается, но в моей реализации после этого завершается и мое приложение, но видимо тут мои бока в объявлении функции

...
#define WINSTA_DLL_NAME TEXT("winsta.dll")//for WinStationKillProcess
typedef BOOL (*WINSTFUNC)(HANDLE,DWORD,DWORD);
...
hinstDll = LoadLibrary(WINSTA_DLL_NAME);
...
FARPROC pFunc = GetProcAddress(hinstDll, WINSTA_FUNC_NAME);
WINSTFUNC pWinStationTerminateProcess=(WINSTFUNC)pFunc;
BOOL bResult=0;
try {
bResult = (pWinStationTerminateProcess)(WTS_CURRENT_SERVER_HANDLE,dwProcessId,(DWORD)0);
}catch(...){
bResult = bResult;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.