![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перехват
Powerland © (2004-08-26 00:35:00)необходимо было реализовать перехват вызова некоторых системных функции. в процесс внедряется dll, а затем из неё производится замена адреса перехода на нужную фунцию. но это почему-то не работает. кто-нить встречался с этой проблемой?
noname (2004-09-13 12:44:00) [21]kaZaNoVa (12.09.04 19:15) [126]
Компиль батником:
G:\PROGRAMMING\Delphi7\Bin\dcc32 -q system sysinit -m -y -z -$D
IF EXIST SysInit.~pas DEL SysInit.~pas
if exist System.~pas del System.~pas
Игорь Шевченко © (13.09.04 10:34) [127]
Таких же, как и при программировании драйвера на C или асме.
То есть использовании только нативных функции(Subsystem=Native).
Игорь Шевченко (2004-09-13 10:34:00) [22]Alekc (12.09.04 15:16) [125]
Он не на Delphi, он на ассемблере. Эта статья уже обсуждалась давно и долго.
noname © (12.09.04 07:35) [123]
Охотно верю.
Кстати, каких возможностей я при этом лишаюсь ?
kaZaNoVa (2004-09-12 19:15:00) [23][123] noname © (12.09.04 07:35)
выложи где-нить откопмилированные DCU, если не сложно ...
- для 7 делфи ..
- имхо компилять system.pas сложно ...
Alekc (2004-09-12 15:16:00) [24]Не помню где, но видел исходники vxd на дельфи, с небольшой вставкой на асме... а что тогда vxd если не драйвер ?
VMcL (2004-09-12 12:36:00) [25]>> noname © (12.09.04 07:35) [123]
Зачем удалять гланды через задний проход, когда можно спокойно и удобно написать драйвер на MSVC++ или MASM?
noname (2004-09-12 07:35:00) [26]Игорь, поменяй SysInit и System на свои. И ничего не будет импортироваться из DLL.
System.pas:
unit System;
interface
procedure _InitExe;
procedure _HandleFinally;
procedure _halt0;
function ZwTerminateProcess(hProc: LongWord; Code: LongWord): Integer; stdcall;
external 'ntoskrnl.exe' name 'ZwTerminateProcess';
function ZwTerminateProcess2(hProc: LongWord; Code: LongWord): Integer; stdcall;
external 'ntdll.dll' name 'ZwTerminateProcess';
type
TGUID = record
D1: LongWord;
D2: Word;
D3: Word;
D4: array [0..7] of Byte;
end;
implementation
procedure _InitExe;
asm
end;
procedure _HandleFinally;
asm
end;
procedure _halt0;
asm
push 0
push $FFFFFFFF
call ZwTerminateProcess2
end;
end.
А потом смени Subsystem в PE-заголовке.
DriverEntry = begin end.
Потом ссылки корректируешь на загрузку, выгрузку, etc.
kaZaNoVa (2004-09-10 19:59:00) [27][121] Burmistroff (10.09.04 18:20)
- что-то про такое не слышал ......
поясни ?
Burmistroff (2004-09-10 18:20:00) [28]По поводу скрытия процессов -- недавно презентацию/публикацию видел, где показывалось что в принципе можно скрыть процесс поменяв ссылки в EPROCESS/KPROCESS (не помню точно где) на следующие/предыдущие элементы связного списка. Насколько я представляю, тогда процесс действительно будет обнаружить не так просто, хотя он будет оставаться законным процессом... так вот :-/
Игорь Шевченко (2004-09-10 11:03:00) [29]kaZaNoVa (10.09.04 10:27) [119]
> а что за "драйвер" тут недавно был на КОЛ ?
На Delphi драйвер написать нельзя в силу того, что в любой программе на Delphi присутствуют вызовы функций из DLL пользовательского режима, которые недопустимы в драйвере. Хоть KOL, хоть еще что. Если кто-то найдет способ, как поменять RTL таким образом, чтобы не было обращений к тем самым DLL, тогда можно будет. Пока не поменяли - нельзя.
kaZaNoVa (2004-09-10 10:27:00) [30]а что за "драйвер" тут недавно был на КОЛ ?
Игорь Шевченко (2004-09-10 10:11:00) [31]
> можно из драйвера вызывать АПИ, например DeleteFile
Нельзя.
kaZaNoVa (2004-09-09 23:01:00) [32][116] Игорь Шевченко © (09.09.04 10:26)
я точно не знаю, можно из драйвера вызывать АПИ, например DeleteFile
а если можно, то как перехватить тогда ?
Игорь Шевченко (2004-09-09 10:26:00) [33]
> а как перехватить вызовы из драйверов ?
Поясни свою глубокую мысль, пожалуйста...
kaZaNoVa (2004-09-09 09:36:00) [34]а как перехватить вызовы из драйверов ?
(2004-09-06 17:02:00) [35]Удалено модератором
(2004-09-06 16:59:00) [36]Удалено модератором
kaZaNoVa (2004-09-06 16:59:00) [37]Удалено модератором
(2004-09-06 16:53:00) [38]Удалено модератором
kaZaNoVa (2004-09-06 16:46:00) [39][109] Digitman © (06.09.04 16:41)
> книгу Коберниченко ?
> она как раз и дает понимание сабжа в достаточном объеме
>
спасибо, если найду, то обязательно возьму, почитаю ;)
но иногда так хочется "получить результат быстро" - спросив у более опытных коллег, Мастеров своего дела :))
а так, если все вопросы переадресовывать к книгам, будет очень большой
толк, но может уйти не одна неделя .....
зы - Коберниченко можно где-нить скачать ?
Digitman (2004-09-06 16:41:00) [40]
> собственно, как работает код именно перехвата - я не совсем
> понял (особенно раздел про Peb)
ну так а для чего тебе был намек на книгу Коберниченко ?
она как раз и дает понимание сабжа в достаточном объеме !