Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убить процесс, без помощи Win Api 
:(
    Опции темы
Nickel
Дата 28.3.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Цитата(Sunvas @ 27.3.2006, 19:06)

Цитата(Nickel @  26.3.2006,  16:16)
ЗЫ: Ахтунг! Писать вирусы, трояны и прочие руткиты вредно для здоровья!

Я не говорил, что пишу вирус! Поэтому твои обвинения безпочвенны!

Это не обвинение, а предупреждение. Я не понимаю зачем убивать каспера, если
эта программа не является вредоносной и тем более системные процессы.
Sunvas, сформулируйте пожалуйста точнее проблему: почему вам не подходят винапи и что выхотите использовать вместо? Может быть Native API? Если вы хотите имея хендл завалить процесс не используя винапи, тогда:
Цитата(Nickel @ 26.3.2006, 16:16 Найти цитируемый пост)
Так вот если вы не хотите использовать Win API, вам бы возможно подошла функция ZwTerminateProcess из ntdll.dll, однако Native API щас мало кого удивишь.

А вот тут я немножко соврал:
Цитата(Nickel @ 26.3.2006, 16:16)

Однако, чтобы нам провернуть такую операцию нужна привелегия отладчика, поэтому перед вызовом OpenProcessEx используем EnableDebugPrivilege. Далее прикончим каспера "отладочным методом" - DebugKillProcess.

После открытия при помощи OpenProcessEx, каспера можно прикончить даже простым TerminateProcess, а при использовании DebugKillProcess и привелегия отладчика будет разрешена, и процесс откроется при помощи OpenProcessEx внутри внутри функции.
PM   Вверх
Sunvas
Дата 29.3.2006, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Yanis @ 28.3.2006, 09:30 Найти цитируемый пост)
GetModuleHandleEx (как и многих других) нет в модуле Windows.pas. Что скажешь?

Хорошо, уточню немного:
  • это те функции у которых есть исходник на делфи/ассемблере (т.е. тот, который компилируется в Делфи);
  • те функции, которые универсально подходят к любой винде (от 95 до ХР);
  • те функции, которые не нужно извлекать из системных библиотек (типа ntdll.dll, advapi32.dll, kernel32.dll и др);
  • не используют "Win32 API Interface Units";
  • те, названия которых можно менять.
Вот вроде-бы и все требования... Но возоможно че-то не учел..
Ну так-то уж понятно??


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
bems
Дата 31.3.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Sunvas @ 29.3.2006, 00:44 Найти цитируемый пост)
те функции, которые не нужно извлекать из системных библиотек (типа ntdll.dll, advapi32.dll, kernel32.dll и др);
Без этого не одна программа не обходиться



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Sunvas
Дата 1.4.2006, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(bems @ 31.3.2006, 17:08 Найти цитируемый пост)
Цитата(Sunvas @ 29.3.2006, 00:44 )
те функции, которые не нужно извлекать из системных библиотек (типа ntdll.dll, advapi32.dll, kernel32.dll и др);
Без этого не одна программа не обходиться

Интересно, какие же системные библиотеки будет загружать функция примерно такого содержания:
Код

function plus(s1,s2:string):string;
begin
result:=s1+s2;
end;



--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Nickel
Дата 1.4.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Процесс - это обьект ядра, поэтому я не представляю как завершить его без каких либо вызовов API.
PM   Вверх
bems
Дата 1.4.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Sunvas @ 1.4.2006, 00:21 Найти цитируемый пост)
Интересно, какие же системные библиотеки будет загружать функция примерно такого содержания:

Ну вопервых тип стринг использует динамическое выделение памяти, а значит прога уже должна использовать соответствующие функции из ntdll.dll или kernel32.dll
А во вторых функция сама по себе не выполняется, только в пределах процесса. А чтобы он хотябы начал выполняться, используется неэкспортируемая функция BaseProcessStart (или что-тог такое) из одной из системных библиотек. И выполняется она уже в контексте вновь созданного процесса.

А что касается твоей темы, то код который тебе дал Nickel оперирует с системой в обход апи, потому и так сильно зависит от версии. В двух разных версиях винды одна и таже апи (если она есть в обеих версиях) может иметь разную реализацию но использоваться одинаково (поэтому и говорят, что апи это интерфейс).
Следовательно такие фокусы - это еще более жесткое ограничение по версии системы, чем вызовы апи.

Это сообщение отредактировал(а) bems - 1.4.2006, 15:12


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Sunvas
Дата 1.4.2006, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(bems @ 1.4.2006, 15:05 Найти цитируемый пост)
Ну вопервых тип стринг использует динамическое выделение памяти, а значит прога уже должна использовать соответствующие функции из ntdll.dll или kernel32.dll

Ну это делает сам процесс/поток, а не процедура или функция. Ведь вспомним старый добрый дос, где эта функция (скомипилированная паскалем) тоже будет работать без всяких ntdll.dll или kernel32.dll.


Цитата(Nickel @ 1.4.2006, 11:35 Найти цитируемый пост)
Процесс - это обьект ядра, поэтому я не представляю как завершить его без каких либо вызовов API.

Мне тоже это кажется невозможным. Если бы не одно но - та статья с примером, которую я видел, позволяла делать такое безобразие.



Цитата(bems @ 1.4.2006, 15:05 Найти цитируемый пост)
код который тебе дал Nickel оперирует с системой в обход апи

Но там все же есть вставки Апи. А мне нужно чтобы их вообще не было.


Цитата(bems @ 1.4.2006, 15:05 Найти цитируемый пост)
Следовательно такие фокусы - это еще более жесткое ограничение по версии системы, чем вызовы апи.

Но может быть у кого-то найдется примерчик именно для 2000?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
bems
Дата 2.4.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Объясни пожалуйса откуда такие ограничения.
От этого и будем плясать


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Spectral
Дата 2.4.2006, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.4.2006

Репутация: нет
Всего: нет



taskkill.exe

Принудительное завершение процесса - Kill Process

Завершает одно или несколько заданий или процессов. Процессы могут быть уничтожены кодом процесса или именем образа.

Синтаксис

taskkill [/s компьютер] [/u домен\пользователь [/p пароль]]] [/fi имя_фильтра] [/pid код_процесса]|[/im имя_образа] [/f][/t]

Описание параметров есть в справке Windows

Это сообщение отредактировал(а) Spectral - 2.4.2006, 18:16
PM MAIL   Вверх
Sunvas
Дата 4.4.2006, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(bems @ 2.4.2006, 17:22 Найти цитируемый пост)
Объясни пожалуйса откуда такие ограничения.
  • Программа будет чаще всего использоваться на вин 2000 и лишь изредка (а то и вообще не будет) на ХР.
  • Некоторые Апи функции на компах, где будет стоять программа, попросту отключены, так что нельзя допустить, чтобы программка лючила.
  • Не должно идти никакого обращения к системным библиотекам во время работы программы, ибо эти обращения можно как-то выпалить и запретить доступ.


Цитата(Spectral @ 2.4.2006, 18:16 Найти цитируемый пост)
taskkill.exe

Это что за? В какой винде? Или эту утилу еще и качать надо?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
bems
Дата 4.4.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Sunvas @ 4.4.2006, 07:35 Найти цитируемый пост)
Программа будет чаще всего использоваться на вин 2000 и лишь изредка (а то и вообще не будет) на ХР.
TerminateProcess есть везде
Цитата(Sunvas @ 4.4.2006, 07:35 Найти цитируемый пост)
Некоторые Апи функции на компах, где будет стоять программа, попросту отключены

Это как?
Цитата(Sunvas @ 4.4.2006, 07:35 Найти цитируемый пост)
Не должно идти никакого обращения к системным библиотекам во время работы программы, ибо эти обращения можно как-то выпалить и запретить доступ.
Выпалить все можно. Если просто боишся каких-то заранее написаных перехватов АПИ, то используй NativeAPI, шансі получше, хотя тоже никакой гарантии. А если кто-то будет че-то перехватівать специально для борьбі конкретно с твоей программой, то шансов у тебя нет вообще.
Цитата(Sunvas @ 4.4.2006, 07:35 Найти цитируемый пост)
taskkill.exe
Оболочка для винапи



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Sunvas
Дата 5.4.2006, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(bems @ 4.4.2006, 10:22 Найти цитируемый пост)
Некоторые Апи функции на компах, где будет стоять программа, попросту отключены

Это как?

Путем перекомпиляции библиотек. Вообщем хакерство.


Цитата(bems @ 4.4.2006, 10:22 Найти цитируемый пост)
Выпалить все можно. Если просто боишся каких-то заранее написаных перехватов АПИ, то используй NativeAPI, шансі получше, хотя тоже никакой гарантии. А если кто-то будет че-то перехватівать специально для борьбі конкретно с твоей программой, то шансов у тебя нет вообще.

Ну не только для борьбы именно с моей программой. Вот я и хочу, чтобы шанс появился - отказаться от Апи.


Цитата(bems @ 4.4.2006, 10:22 Найти цитируемый пост)
Оболочка для винапи

Эт в какой винде? Что-то я у себя в поиске найти не могу.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.