Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532

Управление правилами и информацией запущеного процесса а также его защита

17.07.2017, 08:20. Показов 1655. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро, день или вечер. А может быть и вовсе ночь))
Сейчас веду сразу 2 проекта:
1. Античит - не профессиональное ПО, а по средствам WinAPI скриншоты(На C++ из примеров), сбор данных о HWID, синхронизация этих данных а также данных о процессах, модулях и т д.
2. Чит - Нашел интересный который не инжектит, не трогает процесс. Вообще не чего не делает фактически с процессом и память или файлами игры. В общем по всем прицепам не чит но при этом чит - интересная творческая деятельность а также способ заработать.

Для обоих проектов важно так или иначе их защитить, защитить любым способом а также максимально изменить информацию о процессе. Например CommandLine скрыть как это делает EasyAntiCheat у запускаемого процесса, узнать - возможно ли скрыть точку запуска приложения? Также я видел процессы которые просто убить нельзя - как минимум в диспетчере задач, а как максимум - и остальными менеджерами задачь не удавалось некоторые процессы закрыть. Ну а также закрыть возможность открыть ProcessRead и т д.

Буду рад любым советам, но прошу учесть что я не работал так таковое с WinApi не разу, не разу не смог полноценно взять функцию кернала и т д - и реализовать её полноценно в C# - так как нормально не где не чего не описано и примернов вообще на данную тему практически нет. Если вообще нет! Именно юзание в C# тех или иных WinApi функций
Я даже до сих пор не доконца понимаю Marshal - чем именно он занимается и зачем порой геморойные подходы. Я именно занимаюсь обычно написанием ИИ, Модов, Сайтов, лаунчеры и т д. Но именно натив тяжело давался. Поэтому прошу - дайте совет что именно нужно прочесть(Статью - не книгу) по Native а также дайте пожалуйста простейший пример использования функции по моему вопросу. Прям простейший - куда передать PID и какой параметр занести. А уже применение и т д - я придумаю.

#cyberforum_живи #cyberforum_гдето_тут_гуру

Добавлено через 23 часа 26 минут
Мда, я знал что тема тяжелая - но что бы на столько, что не кто не знает =(
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.07.2017, 08:20
Ответы с готовыми решениями:

Определить PID запущеного процесса
Есть такой код: var g_hAppMutex: THandle; {$R *.dfm} function OneInstance: boolean; var g_hAppCritSecMutex: THandle; ...

Поиск текста в памяти запущеного процесса
Всем привет! Существует ли функция с помощью которой можно будет искать текст в запущенном процессе? Если текст существует нужно возвращать...

Ожидание завершения ранее запущеного процесса
Есть некий код который запускает файл в системе root.exe после его завершения мне нужно выполнить в основной программе следующие действия,...

6
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
17.07.2017, 16:34
Цитата Сообщение от SkoTi Посмотреть сообщение
Для обоих проектов важно так или иначе их защитить, защитить любым способом
на шарпе это сделать невозможно (или практически невозможно), так что не в ту ветку пишите.

по сабжу:
Цитата Сообщение от SkoTi Посмотреть сообщение
сбор данных о HWID
серьёзная штука. Похоже не то что на античит, а на профессиональное защитное ПО от взлома (anti-tamper Denuvo активно использует HWID и десятки тысяч опросов защиты ежесекундно). Хотя и это уже взломано - steampunks написали генератор HWID ключей и защитили его этим же способом VMProtect (чтобы у разрабов Denuvo жизнь малиной не казалась )

Цитата Сообщение от SkoTi Посмотреть сообщение
Чит - Нашел интересный который не инжектит, не трогает процесс. Вообще не чего не делает фактически с процессом и память или файлами игры.
ещё как делает, но возможно другими методами и способами. Изменить память процесса, не влезая в него, невозможно.

ну что я вам могу предложит - ломают всё без исключения. Я уже писал о том, что весь взлом это следствие открытости архитектуры x86. Самая актуальная защита на сегодняшний день это именно виртуальная машина. Это не то, чтобы не пробиваемая защита, а защита дающая надежду на то, что профессиональные хакеры не заинтересуются вашим приложением, а любителям её не взломать.
почитать о VMProtect, ASProtect, X-Protector и прочих VM можно здесь
https://habrahabr.ru/sandbox/26302/
https://habrahabr.ru/post/106920/
https://habrahabr.ru/post/123908/
3
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
17.07.2017, 17:07  [ТС]
_lunar_, Благодарю вас за подробный ответ - но вы меня не приблизили к решению данной задачи. К примеру к античиту - весь функционал написан на C++ за исключеникем общения с сервером. и я бы продолжил писать всякие для себя API функции которые бы я вызывал через DllImport для достижения результата - но я даже не знаю что искать. Я уже третий день сижу и листаю все слово сочитания, склонения на буржуйсом и русском языках того что мне нужно - от скрытия процесса из деспетчера задачь до запрета взаимодействия с процессом. К примеру - запуск из под System Login я уже осуществляю через psexec. Данный вопрос хоть и кастылем - но решен. Остались еще задачи.

Данное ПО не является профессиональным - и не против профи-хакеров. Просто есть куча любителей читоделов которые любят инклюдить свой код в процесс - даже ныне защищенный EAC - поэтому просто защита процесса это фигня. Главное это активно опрашивать всю информацию - включая скриншоты с помощью WinApi который покажет даже UAC окно - не то что бы уж какие-нибудь оверлеи.

А с читом - сейчас главная задача сделать так что бы пользователь не мог догадаться где и что запускается. Но при этом в VM я не могу засунуть так как в виртуалке не запускаются мои функции в чите. Поэтому надо как то или левый путь указать в процессе или скрыть его или еще что то. Всё что угодно сделаать с процессом конечным - что бы его не видел банальный пользователь или не мог скачать то что запустилось или найти. Опять же - защита не от профи а от домарощиных любителей слить чит что бы всех кто его юзал - получили банан.

Есть конечно мысль - сделать так что бы консолька скачивала удаленный код, прежде себя запускала из под имени системы или другую консольку состоящую из 2х строк и по кторой прошлись при помощи Confuser - и та уже делает DownloadData, AssemblyLoad, Invoke - кода который скачает через ключ доступа. Глядишь - сливать не чего будет.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
17.07.2017, 17:27
Цитата Сообщение от SkoTi Посмотреть сообщение
в VM я не могу засунуть так как в виртуалке не запускаются мои функции в чите
вы немного не поняли - защитная виртуальная машина это не виртуалка.
VMProtect создаёт некую уникальную среду (что-то типа виртуальной архитектуры), которая пересобирает из MAP-файла процедуры под свою виртуальную архитектуру. Таким образом затрудняется дизассемблирование кода Intel'овским компилятором.
такие файлы работают как обычные файлы и не требуют установки какой-либо виртуальной среды (виртуалки).

Цитата Сообщение от SkoTi Посмотреть сообщение
А с читом - сейчас главная задача сделать так что бы пользователь не мог догадаться где и что запускается.
можно покопать инфы на тему запуска и выполнение кода/программы из динамической памяти
https://habrahabr.ru/sandbox/32468/
https://www.cyberforum.ru/c-linux/thread48033.html

Цитата Сообщение от SkoTi Посмотреть сообщение
К примеру к античиту - весь функционал написан на C++ за исключеникем общения с сервером. и я бы продолжил писать всякие для себя API функции которые бы я вызывал через DllImport для достижения результата - но я даже не знаю что искать.
не совсем понял что вы хотите?
античит, написанный на C++ лежит на сервере, общение с ним происходит через клиента, написанного на C#.
нужно защитить эту схему?
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
17.07.2017, 20:05  [ТС]
_lunar_, Нееет, у меня сейчас архетектура следующая ->
В клиенте лежит AAC.dll(C++) и App.exe(C#)
App.exe инициализирует функцию в AAC.dll которая внутри C++ запоминает SteamID, и HWID который она же и считывает и возвращает True or False результат инициализации. А далее App.exe инициализирует виртуальный сервер через который проксирует трафик и там же слушает запросы от сервера - когда надо(когда происходит запрос от сервера) он запрашивает данные или скриншот у ACC.dll и в ответ в обоих случаях получает byte array - после чего app.exe отправляет обратно на сервер получаеные данные от ACC.dll. Я как бы не глупый человек и уже лет 7 прогаю что-нибудь, и умею ручками работать. Но вот конкретно - в анти-чите полезная функция была бы скрыть процесс античита от левых глаз, и возможно найти способ - как вы говорите - пользоватся динамической памятью.

С античитом - пока всё более мение гладко - так как основная его задача - делать скрины и отправлять их на сервер - с чем он хорошо справляется и домароченые недокодеры со своими de4net и рефлекторами - не чего не смогут сделать. Но от лишних глаз всёравно бы скрыть таких недопрогеров - что бы лишний раз не ковыряли через taskmanager и processhacker.


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

Добавлено через 2 минуты
А возможноли смонтировать что то подобие RAM диска - к которому будет доступ только у пользователя SYSTEM(да да, тово самого) и о туда запустить с правами SYSTEM мой файл. Таким образом - если мы попытаемся даже если справами админа зайти к месту хранения файла - у нас не будет доступа. Такое возможно? если да то можно пример или ссылку на статейку? Я конечно сейчас и сам поищу, но малоли - вы чего то знаете того чего не знаю я и те кто будут потом читать эту тему.

Добавлено через 1 час 12 минут
Пришла идея - запуская свою консольку простую - если консоль запущена не справами системы - то скачиваем в System нужное ПО в виде psexec и запускам с помощью него эту же консольку. а старую закрываем быстро - а после уже создаем папку и запрещаем к ней доступ кого либо кроме системы. и тогда такое приложение может качать в эту папку и запускать от туда всё что угодно - но при этом обычное люди доступа не будет иметь! ЭВРИКА! Вот ток мля... сижу уже час... немогу найти как изменить права на папку, точнее нашел как - но все попытки не дали вообще не какого результата.

Есть инфа какая-нибудь как удалить все права и добавить только от того пользователя под которым я сейчас сижу или же отдельно пользователя System и больше не кого?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
17.07.2017, 20:25
Цитата Сообщение от SkoTi Посмотреть сообщение
немогу найти как изменить права на папку
в Windows 8/10 есть такая папка WindowsApps (скрытая в C:/ProgramFiles), туда качается всё что связано с UWP
как получить к ней доступ описано здесь https://www.maketecheasier.com... indows-10/
по логике можно накидать скрипт для автоматизации данного процесса, но я со скриптовыми языками не дружу)

даже не знаю чем вам помочь, я не специализируюсь на защите клиент-серверных приложений (там своя специфика)
предпочитаю работать с физическими файлами на прямую
поищу конечно что-нить интересное в интернете, если найду выложу.
1
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
18.07.2017, 08:24  [ТС]
_lunar_, Спасибо вам, вы и так многое подсказали. Вот только беда - у меня ряд пользователей сидит на Windows 7. А по поводу того - что администратор может добавить себя в список прав к этой папке - как то противоестественно звучит О.о
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2017, 08:24
Помогаю со студенческими работами здесь

Реализация запуска процесса и его защита
Всем доброго времени суток! Меня интересует вопрос, можно ли реализовать (если да, то как - желательно пример) запуск процесса и защитить...

Библиотеки процесса, защита от изменения процесса
Здраствуйте. 1) Как можно получить список библиотек (dll, asi), которые уже загружены в процесс какой-то программы? Мне нужно чекать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru