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

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

Как мне узнать имя процесса по его Handel Я использую PSAPI.DLL [D7, WinXP]


Страницы:   1 2

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;


Страницы:   1 2

Наверх

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