![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как мне узнать имя процесса по его Handel Я использую PSAPI.DLL [D7, WinXP]
NikNet © (2005-02-11 17:13:00)КАк ?
Игорь Шевченко (2005-02-14 11:56:00) [1]Господа, я напоминаю, что форум не для вирусописателей.
xShadow (2005-02-14 10:37:00) [2]Ниже драйвера (Ring0), это оно конечно можно прописать в MBR оттяпать чать физ.памяти и воткнуть асм. код
LOL
Piter (2005-02-13 21:42:00) [3]Да стебается человек. Такие ошибки невозможно делать, кроме как специально
Kerk (2005-02-12 22:12:00) [4]
> Это все не документированно! просто нам мозги жували
> что нижи драйвера не чего НЕТ! фигня полнейщая!
ты либо гений, либо совсем дурак.
Arazel (2005-02-12 22:10:00) [5]2Arazel:
А ты знаешь что ваше (25 пост) ты написал полный бред?
По нескольким пунктам:
1. Можно принять "Корочи в чом осебонсть этого Ring0" как особенности модуля работы в Ring0.
2. "1) он работает с двумя таблицами" - какими? не GDT, IRT случаем, если да, то есть ещё несколко(редно одна) LDT.
3. "3) Он защищается от DRWEB чтобы обеспечить устойчевость" - устойчивость?
4. "5) и с него можно вызывать Native API" - да будет тебе известно, что NativeAPI можно использовать и в Ring3
5. "6) Он работает ниже уровня ДРАЙВЕРА!" Эт как? Уровень драйвера(если можно так сказать) это Ring0(В винде). Самый низкий уровень.
6. "7) На всех ОС (Win/3.1...2003)" - Да ну. Ладно все ОСи это громко. Есть *nix, BeOS, *BSD, MacOC X, etc... Я прктически уверен что это не зароботает в Win3.11 и иже с ними, они 16 битные.
1) Выше биРи!
2) GDT,LDT и ещё забыл сказать таблица ПРИРЕВАНИЕ!
3) Просто DrWeb и другие защищают таблицу Вот этот модуль
и провывается сквозь них!
4) Есть Native которые запускаются только в Драйвере! даже в
Ring0 не вызывешь! драйвер работает боле ниже !
5 Ага Драйвер это ринг0! Я бы не сказал! попробуй изменить
физический размер памяти чтобы все OC видили например 256 ОЗУ
а 64! и ещё попробуй обратится к микрокоду HDD
Это все не документированно! просто нам мозги жували
что нижи драйвера не чего НЕТ! фигня полнейщая!
6) А не говорил про *nix... (Win/3.1...2003)
Windows! думаю не буду перечислять! так просто чучуть!
Win3.11,Win95,Win98,WinME,WinNT4,WinNT5,Win2000,WinXP,Win2003
По поводу моего русского!
У меня времени нет!
вы пишите на бесплатную связь
а у меня всего 47 единиц
так что поговорить нам не получится
скинь мне на мыло что-бы вследуйщи раз я мог стобой
переговорить Arazel@yandex.ru или NikNet@yandex.ru
А пока можешь писать в эту тему я чуть по поже зайду!
ЗАКОНЧИЛ ВУЗ - Матиматические системы счислени (Апаратное прог..)
Kerk (2005-02-12 21:01:00) [6]n0name (12.02.05 20:16) [26]
В доках релоки называются "Base Relocations".
я знаю как они называются.. но попробуй на русский перевести.. "релоки" - не катит.. это не по-русски.
n0name (2005-02-12 20:16:00) [7]2Kerk:
Тыкни пожалуйста пальцем где релоки названы настройками?
В доках релоки называются "Base Relocations".
Inside Windows - An In-Depth Look into Win32 Portable Executable File Format - Part1/2
2Arazel:
А ты знаешь что ваше (25 пост) ты написал полный бред?
По нескольким пунктам:
1. Можно принять "Корочи в чом осебонсть этого Ring0" как особенности модуля работы в Ring0.
2. "1) он работает с двумя таблицами" - какими? не GDT, IRT случаем, если да, то есть ещё несколко(редно одна) LDT.
3. "3) Он защищается от DRWEB чтобы обеспечить устойчевость" - устойчивость?
4. "5) и с него можно вызывать Native API" - да будет тебе известно, что NativeAPI можно использовать и в Ring3
5. "6) Он работает ниже уровня ДРАЙВЕРА!" Эт как? Уровень драйвера(если можно так сказать) это Ring0(В винде). Самый низкий уровень.
6. "7) На всех ОС (Win/3.1...2003)" - Да ну. Ладно все ОСи это громко. Есть *nix, BeOS, *BSD, MacOC X, etc... Я прктически уверен что это не зароботает в Win3.11 и иже с ними, они 16 битные.
Это вкратце.
Но мне всё таки интересен этот комплекс, напиши мне. Я поделюсь с тобой тем, что ты хочешь.
P.S. Как ты закончил ВУЗ с таким русским ?? :)
Arazel (2005-02-12 19:58:00) [8]Корочи в чом осебонсть этого Ring0
1) он работает с двумя таблицами
2) Он работает с IRQ Interrupt
3) Он защищается от DRWEB чтобы обеспечить устойчевость
4) Также он может работать ГЛОБАЛЬННО то есть у всех процессов!
5) и с него можно вызывать Native API
6) Он работает ниже уровня ДРАЙВЕРА!
7) На всех ОС (Win/3.1...2003)
8) В нем заложанные все функций IFSFN которые работают также в WinNT... (Кто привык к Win9x)
9) И многое другое!
Kerk (2005-02-12 18:43:00) [9]n0name (12.02.05 18:33) [23]
Незнал что релоки можно назвать настройками :)))
можно
описание PE выдрано из документа, который можно назвать классическим.
n0name (2005-02-12 18:33:00) [10]Почитал исходник ExeImg(?).
Понравилось :) Долго смеялся над фрагментами кода :)
Таких перлов давно не видел :)
Автор показывает некоторые поверхностные знания.
Например:
" .reloc - таблица настроек
.tls - данные на базе которых Windows запускает цепочки"
Незнал что релоки можно назвать настройками :)))
Или TLS данными для запуска цепочек.
Автор "полно" описал возможные SubSystem :)
В общем, этот исходник не претендует ни на что.
n0name (2005-02-12 18:24:00) [11]Давай поспорим Arazel что не АБСОЛЮТНО ВСЕ функции Native Api у тебя есть?
Arazel если интересна тема заражения PE-файлов пиши мне на мыло, не хочу засорять форум плохими исходниками :)
Kerk (2005-02-12 17:11:00) [12]NikNet © (11.02.05 18:32) [2]
я вспомнил.. ты недавно свой сайт смешно рекламировал...
расскажи чего там в твоем ринг0 такого, что 7 баксов стоит?
GanibalLector © (11.02.05 19:20) [5]
Очень красивый
Пользуюсь успехом Девчонок (Лет от 14 - 27)
у него наверно 2 девченки было.. одной - 14, другой - 27 ))
Arazel (2005-02-12 17:01:00) [13]А вообще лучше напишите в чем именно проблема.
Если ты емеешь виду ExeImg.pas то Я!
А если драйвер то я его купил с DDK!
И САМ ТАКЖЕ ДОБАВИЛ много чего туда!
Piter (2005-02-11 22:16:00) [14]еще и иронии не понимаешь...
Arazel (2005-02-11 22:07:00) [15]судя по заданному вопросу - это все ты делал сам...
Не совсем!
Piter (2005-02-11 22:05:00) [16]NikNet © (11.02.05 18:32) [2]
Там чисты ДРАЙВЕР НА DELPHI + DDK для создание Драйвера!
на чистом DELPHI! без всяких ASM MASM ...!
судя по заданному вопросу - это все ты делал сам...
kaZaNoVa © (11.02.05 19:49) [8]
имхо вирус ...
имхо, 100%
kaZaNoVa (2005-02-11 20:50:00) [17]Arazel © (11.02.05 20:08) [10]
круто, респект!
Leonid Troyanovsky (2005-02-11 20:36:00) [18]
> NikNet © (11.02.05 17:13)
> КАк ?
Тот, кто передал хендл вполне может передать и имя.
Ну, а если дорого psapi, то можно хоть GetProcessId.
--
Regards, LVT.
Arazel (2005-02-11 20:10:00) [19]Procedure WriteHdr;
Begin
Seek(_File,0);
BlockWrite(_File,BufDos,SizeOf(BufDos));
Seek(_File,DosHdr.NewHdr);
BlockWrite(_File,BufPe,SizeOf(BufPe));
end;
Function IsSection(Section:String):Bool;
Var
i:Byte;
Begin
i:=0;
Result:=False;
For i:=1 to PeHdr.NumberOfSections do
Begin
ReadSection(i);
IF Trim(SecHdr.Name) = Section Then
Begin
Result:=True;
Break;
end;
end;
end;
Function ReadSection(Section:Byte):Bool;
Var a:DWORD;
Begin
Result:=True;
IF (Section > PeHdr.NumberOfSections) or (Section = 0) Then
Begin
Result:=False;
Exit;
end;
Seek(_File,$3C);
BlockRead(_File,a,sizeof(a));
Dec(Section);
Seek(_File,(a+24+PEHdr.SizeOfOptionalHeader)+(SizeOf(SecHdr)*Section));
Blockread(_File,SecHdr,sizeof(SecHdr));
end;
Function WriteSection(Section:Byte):Bool;
Var a:DWORD;
Begin
Result:=True;
IF (Section > PeHdr.NumberOfSections) or (Section = 0) Then
Begin
Result:=False;
Exit;
end;
Seek(_File,$3C);
BlockRead(_File,a,sizeof(a));
Dec(Section);
Seek(_File,(a+24+PEHdr.SizeOfOptionalHeader)+(SizeOf(SecHdr)*Section));
BlockWrite(_File,SecHdr,sizeof(SecHdr));
end;
Procedure ClosePeFile;
Begin
OpenFile:=False;
CloseFile(_File);
end;
end.
Arazel (2005-02-11 20:10:00) [20](*
|--------------------------------|-----------------------------------------|
| Для вируса (Вот это всё и надо менять) |
|--------------------------------|-----------------------------------------|
| Изменяемые значение | | Местонахождение |
|--------------------------------|-----------------------------------------|
| Address of Entrypoint | Адресс входа | Image File Hdr |
| Reserved1 (Метка ЗАРАЖЕНИЕ ) | Зарезервировано | Image File Hdr |
| Virtual Size | Размер секций в памяти| Section header |
| Size of Raw Data | Размер секций на диске| Section header |
| Characteristics | Флаги свойств секции | Section header |
|--------------------------------|-----------------------------------------| *)
{-------------------------------------------------------------------------------}
{Открытия (PE) файла}
Function OpenPeFile(FileName:STRING):BOOL;
{Чтение заголовка файла (DOS+PE)}
Procedure ReadHdr;
{Запись заголовка файла (DOS+PE)}
Procedure WriteHdr;
{Проверка секций + переход на секцию}
Function IsSection(Section:String):Bool;
{Чтение секций}
Function ReadSection(Section:Byte):Bool;
{Запись секций}
Function WriteSection(Section:Byte):Bool;
{Закрытия (PE) файла}
Procedure ClosePeFile;
{------------------------------------------------------------------------------}
implementation
VAR
BUFDos:array[1..SizeOf(IMAGE_DOS_HEADER)] OF BYTE ABSOLUTE DosHdr;
BUFpe:array[1..SizeOf(IMAGE_FILE_HEADER)] OF BYTE ABSOLUTE PeHdr;
BUFsec:array[1..SizeOf(IMAGE_SECTION_HEADER)] OF BYTE ABSOLUTE SecHdr;
Function OpenPeFile(FileName:STRING):BOOL;
Begin
OpenFile:=True;
Result:=True; {$I-}
ASSIGN(_File,FILENAME);
RESET(_File,1); {$I+}
IF IOResult <> 0 THEN
BEGIN
Result:=False;
OpenFile:=False;
Exit;
END;
end;
Procedure ReadHdr;
Begin
With DosHdr,PeHdr do
Begin
BLOCKREAD(_File,BufDos,SizeOf(BufDos));
Seek(_File,NewHdr);
BLOCKREAD(_File,BufPe,SizeOf(BufPe));
end;
end;