Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита процесса! 
:(
    Опции темы
Феликс
Дата 29.11.2006, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ребята помогите мне с такой задачей, пожалуйста!
Допустим я запускаю Процесс А, после этого процесс Б, который обращается к Процессу А. Нужно написать сурс код по определению всех процессов которые обращяются к Процессу А и отключить их! Кстати, Процесс А является дочерним процессом, какие нибудь изменения в нём не допустимы. Есть алтернативный процесс, прородитель Процесса А. Просьба вашу помощь реализовать ввиде кода.
Заранее благодарен!

Это сообщение отредактировал(а) Феликс - 29.11.2006, 00:29
PM   Вверх
GremlinProg
Дата 29.11.2006, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Феликс @  29.11.2006,  02:27 Найти цитируемый пост)
код по определению всех процессов которые обращяются к Процессу А и отключить их!
Что тут имеется ввиду?


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Феликс
Дата 29.11.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Допустим подключается какой нибудь процесс (назавём его процессом X), функция которого изменить определённые параметры в оперативном пространстве другого процесса (процесса Y). Так вот суть задачи состоит в том чтобы определить если процесс X работает с памятью процесса Y, то должна сработать защита и отключить процесс X!
PM   Вверх
Romikgy
Дата 29.11.2006, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(Феликс @  29.11.2006,  13:19 Найти цитируемый пост)
Допустим подключается какой нибудь процесс

как подключается?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
dumb
Дата 29.11.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



технически это осуществить несложно - развесить хуки на всякие *Process, Virtual* итд.
но делать это придется тебе самому, Феликс, и есть подозрение, что именно в этом моменте будут трудности...
PM MAIL   Вверх
Феликс
Дата 29.11.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Romikgy @ 29.11.2006,  18:07)
как подключается?

Другими словами при запуске проложения .exe

Добавлено @ 22:00 
Цитата(dumb @ 29.11.2006,  19:50)
технически это осуществить несложно - развесить хуки на всякие *Process, Virtual* итд.
но делать это придется тебе самому, Феликс, и есть подозрение, что именно в этом моменте будут трудности...

А можеш мне помочь в написании кода? Мне трудно, я тока недавно взялся за С++ на WinApi основе. Или помоги ссылками. Мне очень сильно нада написать этот код! Я весь форум облазил, и ничего подобного не нашел! Буду очень признателен за помощь!
PM   Вверх
Romikgy
Дата 29.11.2006, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(Феликс @  29.11.2006,  20:54 Найти цитируемый пост)
Другими словами при запуске проложения .exe

что при запуске?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Феликс
Дата 29.11.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Romikgy @ 29.11.2006,  22:02)
Цитата(Феликс @  29.11.2006,  20:54 Найти цитируемый пост)
Другими словами при запуске проложения .exe

что при запуске?

Мде.... К примеру у меня есть файл process_A.exe и я его запускаю! Теперь понятно!
PM   Вверх
Romikgy
Дата 29.11.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



ну запустил , дальше что?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Феликс
Дата 29.11.2006, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Romikgy @ 29.11.2006,  22:22)
ну запустил , дальше что?

Ты хоть прочитал содержимое темы или тебе дай тока пофлудить!?  smile 

Это сообщение отредактировал(а) Феликс - 29.11.2006, 23:00
PM   Вверх
Romikgy
Дата 29.11.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Ув. Феликс вы слышали такую фразу
"правильно заданый вопрос это 50% ответа" ! 
вот ваш вопрос вообще полная чушь, имхо,
а если вы считаете , что 
Цитата(Феликс @  29.11.2006,  21:59 Найти цитируемый пост)
дай тока пофлудить

тогда вам мой ответ не нужен!

PS кса ты думаешь здесь репутация только за флуд дается?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
_hunter
Дата 30.11.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



да что тут непонятного? хочет человек написать щащищалку типа как у касторского.
решается перехватом (в в данном случае) функции WriteProcessMemory


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Феликс
Дата 30.11.2006, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(_hunter @ 30.11.2006,  11:46)
да что тут непонятного? хочет человек написать щащищалку типа как у касторского.
решается перехватом (в в данном случае) функции WriteProcessMemory

А поподробнее можно пожалуйста.  Я вычитал в интернете способности этой функциии и я так понял, что она способна тока изменять оперативное пространство памяти, а мне нада определить процессы которые это делают в пространстве памяти Процесса А и по мере возможности отрубить их!
Может я чтото не понимяю? Тогда я  smile 

Это сообщение отредактировал(а) Феликс - 30.11.2006, 17:21
PM   Вверх
witex
Дата 30.11.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Хук на это функцию ставить надо, не самой функцией пользоваться!
--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. 
PM MAIL   Вверх
Феликс
Дата 30.11.2006, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Дайте примерчик!
PM   Вверх
_hunter
Дата 30.11.2006, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



ищи "перехват api" -- вопрос не раз обсуждался.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Феликс
Дата 2.12.2006, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ок, спасибо!
PM   Вверх
Феликс
Дата 7.12.2006, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Еще вот такой вопрос!
Вот скрипт по выводу всех процессов в системе!
Код

    HANDLE pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    bool bIsok = false;
    PROCESSENTRY32 ProcEntry;
    ProcEntry.dwSize = sizeof(ProcEntry);
    bIsok = Process32First(pSnap, &ProcEntry);    
    while(bIsok)
    {
    printf("%u\t*%s*\n", ProcEntry.th32ProcessID, ProcEntry.szExeFile);
    bIsok = Process32Next(pSnap, &ProcEntry);
          }

Что мне нужно дописать, чтобы я смог определить (по имени процесса) заранее, если есть такой процесс в системе!
К примеру после вывода всего списка, программа анализировала каждый процесс, и если среди них наидёт заданный мной процесс, то его нужно разрушить!
Спасибо за помощь! Помощь предоставлаем ввиде сурсов!
PM   Вверх
Romikgy
Дата 7.12.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Код

printf("%u\t*%s*\n", ProcEntry.th32ProcessID, ProcEntry.szExeFile);
if (strcmp("my.exe",ProcEntry.szExeFile)
{
TerminateProcess(OpenProcess( PROCESS_TERMINATE, 0,ProcEntry.th32ProcessID),0);
}
    bIsok = Process32Next(pSnap, &ProcEntry);

хотя сравнение надо сделать регистро независимым и только имя файла
Цитата(Феликс @  7.12.2006,  12:57 Найти цитируемый пост)
Вот скрипт по выводу всех процессов в системе!

это не скрипт!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Феликс
Дата 7.12.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Romikgy @ 7.12.2006,  14:52)
Цитата(Феликс @  7.12.2006,  12:57 Найти цитируемый пост)
Вот скрипт по выводу всех процессов в системе!

это не скрипт!

Часть его! Сейчас испробуем твой метод!
PM   Вверх
Феликс
Дата 7.12.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



После запуска сурса у меня отрубило все процессы, а тот что надо было отрубить он оставил  smile . Romikgy помоги мне с этой задачей пожалуйста!

Добавлено @ 23:22 
Почемуто когда ставиш параметр закрития процесса в параметр False процедуры if, то всё работает!

Это сообщение отредактировал(а) Феликс - 7.12.2006, 23:19
PM   Вверх
Феликс
Дата 7.12.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Еще одна задача! К процессу подключился постороний .dll. Нужен сурс по определению если такой .dll подключен к процессу и его уничтожению!
П.С: Romikgy спасибо за помощь!
PM   Вверх
Romikgy
Дата 8.12.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(Феликс @  7.12.2006,  12:57 Найти цитируемый пост)
CreateToolhelp32Snapshot

+TH32CS_SNAPMODULE    
+Module32First
+Module32Next

имхо

Добавлено @ 00:14 
Кса правила форума давай придерживаться одна тема один вопрос


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
0x00
Дата 9.12.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ты хочешь писать защиту от c0d3 injection?

перехватываешь апи WriteProcessMemory...
смотришь кто куда что хочет записать. если нильзя, или записал много, то терминейт, если нет, то норм работаешь.
например по умному это должно работать так - разрешать записть в чужой процесс, но не более разрешенного кол-ва байт, например в защите аутпост 4.0 про этот размер составляет помоему 15 байт на процесс. 

абсолютно ничего сложного. главная задача - перехватить WriteProcessMemory.

но возникает еще один вопрос - как завершить процесс, который пытается записать в чужое пространство... т.е. с юзермодовыми ф-циями далеко не уйдешь. надо писать драйвер и диспетчер для него... например спалил ты запись 1кб в процесс... передаешь информацию о том, что мол xxx.exe записал 1024 в yyy.exe, диспетчер решает что делать... а он решит заблокироввать надолго xxx.exe, для этого он передает irp пакет драйверу с информацией о том, какой процесс убить.

p.s.
на самом деле лучше все защиты писать в ring0, а для юзермода оставлять только gui =))
PM MAIL   Вверх
Феликс
Дата 10.12.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всё это очень хорошо 0х00, вот тока мне трудно это всё переварить и реализовать самому, поэтому я прощу у вас помощи в решении этой не легкой задачи!
PM   Вверх
zabivator
Дата 11.12.2006, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Феликс, когда решаешь нелегкие задачи, надо получить минимальное представление по тематике. Читай классику. Въезжай в идеологию.  Помочь могут с конкретной проблемой, никто тебе всю программу писать не будет.
--------------------
#include <zabivator>int main( int, char * [] ){   while( Zabivator::жив() ) Zabivator::моск()++;   return 0;}
PM MAIL WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




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


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

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