Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

перехват


Страницы:   1 2 3 4 5 6 7 8

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)


ну так а для чего тебе был намек на книгу Коберниченко ?
она как раз и дает понимание сабжа в достаточном объеме !


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо