Защита процесса. Защита файла
|
|
Archido | Дата: Вторник, 04 Декабря 2012, 16:08 | Сообщение # 21 |
Сэнсэй
Сейчас нет на сайте
| Неправильно вызываешь. Ставить надо так: Code RtlSetProcessIsCritical(true, NULL, false);
Снимать так: Code RtlSetProcessIsCritical(false, NULL, false);
Quote (fireday) Заметил вот что - защита работает, только если вызывать ObtenerPrivilegios SE_DEBUG_NAME в событии load (я так понимаю пока форма визуально не загрузилась). У меня всегда работало без дебаг привилегий, если делать как я выше написал. Но можно для перестраховки и получать энти привилегии
Quote (fireday) Надо сделать две dll-ки, первая делает процесс критическим. Вторая снимает защиту. Так работать будет? Будет.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Вторник, 04 Декабря 2012, 16:10 |
|
| |
fireday | Дата: Вторник, 04 Декабря 2012, 19:12 | Сообщение # 22 |
частый гость
Сейчас нет на сайте
| Quote (Archido) Неправильно вызываешь. Ставить надо так: Code RtlSetProcessIsCritical(true, NULL, false); Quote (Archido) Снимать так: Code RtlSetProcessIsCritical(false, NULL, false); Я так тоже делал (только с дебаг правами). Ошибку выдавал при вызове с "NULL". Сейчас еще раз попробую.
Сообщение отредактировал fireday - Вторник, 04 Декабря 2012, 19:12 |
|
| |
Archido | Дата: Вторник, 04 Декабря 2012, 19:32 | Сообщение # 23 |
Сэнсэй
Сейчас нет на сайте
| А соглашение вызова то для "RtlSetProcessIsCritical" правильное стоит? WinApi - stdcall же Хотя в VB наверное stdcall по умолчанию, тогда мимо
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Вторник, 04 Декабря 2012, 19:37 |
|
| |
fireday | Дата: Вторник, 04 Декабря 2012, 21:02 | Сообщение # 24 |
частый гость
Сейчас нет на сайте
| Что еще за соглашение вызова? Если, как вы выразились WinApi - stdcall - значит не вариант? Code Private Declare Function RtlSetProcessIsCritical Lib "ntdll.dll" (ByVal NewValue As Boolean, ByVal OldValue As Boolean, ByVal WinLogon As Boolean) вызов: RtlSetProcessIsCritical True, Null, False / RtlSetProcessIsCritical False, Null, False
|
|
| |
Archido | Дата: Среда, 05 Декабря 2012, 08:26 | Сообщение # 25 |
Сэнсэй
Сейчас нет на сайте
| Quote (fireday) Что еще за соглашение вызова? Определяет как параметры передаются в ф-цию и кто занимается приведением стека в порядок после вызова. Вот подробнее.
Quote (fireday) Если, как вы выразились WinApi - stdcall - значит не вариант? Не, как выяснилось в Basic'e тоже stdcall, поэтому все должно работать. В других языках обычно эти соглашения отличны от майкрософта, а бейсик (как и WinApi) - является разработкой последнего - поэтому у них все совпадает. Сорри, что запутал
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 05 Декабря 2012, 08:29 |
|
| |
fireday | Дата: Среда, 05 Декабря 2012, 17:14 | Сообщение # 26 |
частый гость
Сейчас нет на сайте
| Ясно, спасибо за ссылку, почитаю. Почему то все равно при вызове с null выдает ошибку. Мб это из-за того что древняя версия vb? visual basic 6.0
|
|
| |
Archido | Дата: Среда, 05 Декабря 2012, 17:22 | Сообщение # 27 |
Сэнсэй
Сейчас нет на сайте
| Quote (fireday) Почему то все равно при вызове с null выдает ошибку Мм, я в бейсике полный нуль , но вообще вторым параметром идет указатель. Возможно нужно декларировать ф-цию как-нить так: Code Private Declare Function RtlSetProcessIsCritical Lib "ntdll.dll" (ByVal NewValue As Boolean, ByVal OldValue As Long, ByVal WinLogon As Boolean)
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 05 Декабря 2012, 17:22 |
|
| |
ARRAYBOW | Дата: Среда, 22 Марта 2023, 20:32 | Сообщение # 28 |
уже был
Сейчас нет на сайте
| Что бы не удалили можно во-первых:
а во-вторых поменять владельца файла на TrustedInstaller, в основном бесит, а в этом случае помоает
|
|
| |