|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 10, 2004 23:52:19 Скачал значит *The Undocumented Functions Microsoft Windows NT/2000* и сижу разбираюсь, но никак не получается открыть процесс с помощью NtOpenProcess возвращает 80000002(OUTOFMEMORY) а делаю все как надо: push offset ClientId push offset ObjectAttributes(первый байт=18h) И каков должен быть размер ObjectAttributes? push PROCESS_ALL_ACCESS push offset OUT_PROCESS_HANDLE А должен ли OUT_PROCESS_HANDLE содержать processId? (хотя пробовал и так и так) Подскажите в чем дело(кроме кривых рук). |
|
|
Дата: Ноя 10, 2004 23:59:57 > push PROCESS_ALL_ACCESS А тебе никто и не обещал с такими правами открытие процесса, возможно система воспротивилась если ты под юзером или ещё там чего... Да и некорректно открывать процесс с такими правами доступа, тем более они все вряд ли тебе нужны ;-) |
|
|
Дата: Ноя 11, 2004 00:14:54 >возможно система воспротивилась если ты под юзером А когда вызываю через OpenProcess то не противиться? А сижу под админом и открываю explorer.exe И забыл:сижу на XP Pro SP1 |
|
|
Дата: Ноя 11, 2004 00:19:07 Ты выровнял структуры? Попробуй поставить align 4 перед ObjectAttributes |
|
|
Дата: Ноя 11, 2004 00:21:32 Я бы грешил на неправильно переданные параметры... Вот тебе пример вызова на С:
OBJECT_ATTRIBUTES oa = {sizeof(oa)};
CLIENT_ID cid = {TargetPID, 0};
HANDLE hTarget;
NTSTATUS Result = NtOpenProcess(&hTarget, PROCESS_ALL_ACCESS, &oa, &cid);
|
|
|
Дата: Ноя 11, 2004 00:54:42 Для компиляции потребуется KmdKit (лежит на этом сайте). С Windows.inc не совместим.
.386
.model flat, stdcall
option casemap:none
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
; I N C L U D E F I L E S
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
include \masm32\include\kernel32.inc
include \masm32\include\w2k\ntdll.inc
include \masm32\include\w2k\ntddk.inc
include \masm32\include\w2k\ntstatus.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\w2k\ntdll.lib
include \masm32\Macros\Strings.mac
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
; C O D E
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
.code
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
; start
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
start proc
local hProcess:HANDLE
local oa:OBJECT_ATTRIBUTES
local cid:CLIENT_ID
InitializeObjectAttributes addr oa, NULL, OBJ_CASE_INSENSITIVE, NULL, NULL
mov cid.UniqueProcess, 1100 ; Your process ID. You've got it somehow.
mov cid.UniqueThread, 0
invoke ZwOpenProcess, addr hProcess, PROCESS_ALL_ACCESS, addr oa, addr cid
.if eax == STATUS_SUCCESS
invoke ZwClose, hProcess
.endif
invoke ExitProcess, 0
ret
start endp
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
;
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
end start
|
|
|
Дата: Ноя 11, 2004 00:59:11 Все спасибо за оперативную помощью Надо всего было поставить align 4 и правильно поработать с OBJECT_ATTRIBUTES. И не подскажите, а где можно взять инфу об кейлогерре который бы работал через драйвер, и если мне не изменяет память, то там что-то обещал по поводу этой темы Four-F? |
|
|
Дата: Ноя 11, 2004 01:17:05 · Поправил: Asterix Four-F А чем отличается ZwOpenProcess от NtOpenProcess? В импорте kernel32 кажется Nt или я что-то путаю? Мне это нужно для плагина знать ;-) |
|
|
Дата: Ноя 11, 2004 01:28:00 · Поправил: dead_body Asterix названием. так думает PeBrowsePro GetProcAddress c NtOpenProcess делаеш а он пишет что eax==ZwOpenProcess И точка входа у них одна,если верит PeBrowsePro |
|
|
Дата: Ноя 11, 2004 14:06:13 · Поправил: Four-F [ Asterix: А чем отличается ZwOpenProcess от NtOpenProcess? ] Для ntdll ничем. Это синонимы. Для ядра отличаются. Я имею ввиду префиксы Zw и Nt вообще. [ dead_body: И не подскажите, а где можно взять инфу об кейлогерре который бы работал через драйвер, и если мне не изменяет память, то там что-то обещал по поводу этой темы Four-F? ] Первая часть статьи написана и во вторник отослана Aquila. Если он её получил, то на днях выложит, наверное. Но там пока арт-подготовка. Фильтр будет в следующей статье. Пример готового "кейлогерра, который бы работал через драйвер" можно взять на rootkit.com: проект называется klog. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.078 |