подпроцесс всегда работает с низким уровнем целостности? - PullRequest
0 голосов
/ 20 ноября 2018

Я работаю над патчером для игры в Unity на c #.Поскольку игра построена с il2cpp, который не поддерживает system.diagnostics.Process, я вынужден запускать патчер через windows api.
Моя проблема в том, что патчер всегда работает с низким уровнем целостности, который разрешает доступ только к appdata/locallow directory.
Я дважды проверил, что все части игры Unity всегда работают со средним уровнем, но подпроцесс всегда понижен до низкого уровня.
Я пробовал вызовы API CreateProcessA и ShellExecuteA с каждой разумной комбинацией допустимых аргументовЯ мог бы придумать.Результат остался прежним.Несмотря на то, что родитель имеет среднюю целостность, у ребенка всегда низкий уровень целостности.
Я даже попробовал какой-то старый код , который использует маркер безопасности из другого процесса для получения средней целостности.Он успешно запускает мою программу, но опять-таки только с низкой целостностью.
Я получаю среднюю целостность, если запускаю программу щелчком мыши или из самой программы, но при вызове ее из cmd я получаю ту же низкую целостность, в то время как cmd / PowerShellработает на среде.
Установка уровня целостности с помощью icacls также не имеет значения.

Патчер - это простое приложение .net 4 windows form (для предотвращения проблем со старым вином и т. д.), котороеработает с файлами deltas.

Я явно что-то здесь упускаю.Кто-нибудь знает, почему это?Трудно найти что-либо, потому что все результаты говорят либо о повышении прав администратора UAC, либо о том, как снизить свою целостность.

Я пытался прочитать целостность и разрешения для msdn в целом, но это бездонная яма, и, честно говоря,просто слишком сложный для меня.

Я мог бы просто потребовать, чтобы уровень uac admin поднялся сам, что прекрасно работает между прочим.но это не то, как это должно работать.

Неужели так сложно просто запустить программу, которая наследует уровень целостности родителя?Из того, что я нашел до сих пор, это должно быть поведение по умолчанию.

1 Ответ

0 голосов
/ 20 ноября 2018

Вы положили свой файл в LocalLow?Windows запускает приложения в этой папке с низким уровнем целостности IIRC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...