• XSS.stack #1 – первый литературный журнал от юзеров форума

C++ Отказано в доступе при написании в файл

sect adept

(L3) cache
Пользователь
Регистрация
19.02.2022
Сообщения
280
Решения
3
Реакции
73
Приветствую. Столкнулся с проблемой, что с помощью WinApi пытаюсь открыть файл на чтение и запись, чтобы прочитать эти данные и записать в файл. Проблема заключается в том, что если директория находится в Program Files, то GetLastError() дает значение 5 при попытке открыть файл и записать, собственно, отказано в доступе. Запускаюсь от имени админа, даже от системы пробовал, но все четно. Как можно фиксануть это через код или никак не пофиксить эту проблему через код, а только вручную назначать файлам привеилегии?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Как можно фиксануть это через код или никак не пофиксить эту проблему через код, а только вручную назначать файлам привеилегии?
Отключить UAC, может быть. Альтернативно ты можешь использовать IFileOperation, он вывалит пользователю окошко, которое он (может быть) прокликает.

Для прог файлес для записи админ права нужны помоему
Запускаюсь от имени админа
 
Отключить UAC, может быть. Альтернативно ты можешь использовать IFileOperation, он вывалит пользователю окошко, которое он (может быть) прокликает.
Не заметил + код он не дал.
 
Да, сори за код, так как на другой системе находится (не рабочей). Да просто дефолтно использую CreateFileW по документации майкрософта с флагами для чтения и записи одновременно
Не заметил + код он не дал.

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

Для прог файлес для записи админ права нужны помоему
от имени системы даже запускаюсь, но все четно...(
 
от имени системы даже запускаюсь, но все четно...(
Эт сделай циклическую проверку. И типа if(pFile) и тд и в цикле while пробуй.

Или попробуй CreateFileA потому что с wstr проблем дохуище.
 
от имени системы даже запускаюсь, но все четно...(
CreateFileA(name, GENERIC_ALL,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); параметры такие? Или еще |запись
 
CreateFileA(name, GENERIC_ALL,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); параметры такие? Или еще |запись
GENERIC_READ | GENERIC_WRITE юзаю, а в целом все так же
 
Эт сделай циклическую проверку. И типа if(pFile) и тд и в цикле while пробуй.

Или попробуй CreateFileA потому что с wstr проблем дохуище.
wstr юзаю, потому что могут попасться широкие символы
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Эт сделай циклическую проверку. И типа if(pFile) и тд и в цикле while пробуй.
🤣

Или еще |запись
GENERIC_ALL включает в себя и GENERIC_READ и GENERIC_WRITE, на то он и ALL.

Правильно я понимаю, что есть механизмы, которые байпасят UAC через код и какие условия для этого нужны, только админ права?
Ну для начала для тестов ты можешь просто у себя UAC выключить и проверить, будет ли ошибка или нет. Если сработает, то посмотри какой-нибудь обход UAC'а.
 
У меня не выскакивал UAC при запуске
GENERIC_ALL включает в себя и GENERIC_READ и GENERIC_WRITE, на то он и ALL.


Ну для начала для тестов ты можешь просто у себя UAC выключить и проверить, будет ли ошибка или нет. Если сработает, то посмотри какой-нибудь обход UAC'а.
 
дефендер или сыстемный антивирь отключи
ничего такого не было на тестовой системе
 
Пожалуйста, обратите внимание, что пользователь заблокирован
У меня не выскакивал UAC при запуске
Он и не должен был выскакивать, если его не запрашивали.
 
Он и не должен был выскакивать, если его не запрашивали.
окей, чекну настройки и отпишу через время результат. Если он будет, то придется обходить?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Или попробуй CreateFileA потому что с wstr проблем дохуище.
Каких проблем?! Юникод это стандарт в винде уже лет 25 как.
Как ты криптуешь с такими-то познаниями?
 
Каких проблем?! Юникод это стандарт в винде уже лет 25 как.
Как ты криптуешь с такими-то познаниями?
хд, стандартный string,char тоже прекрасно работает, и проблем не возникало.
Компилер умеет оптимизировать и такое, поэтому wstr юзал онли для получения хэндлов(там сама функция с wstr), поитогу ее преобразовываю в str потому что так удобней и вообще в wstr не вижу надобности, особенно когда есть функции в api с str.

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

Так что здесь не вижу смысла в wstr. Покажи пример мне где wstr нужен и char проёбывается.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
хд, стандартный string,char тоже прекрасно работает, и проблем не возникало.
Компилер умеет оптимизировать и такое, поэтому wstr юзал онли для получения хэндлов(там сама функция с wstr), поитогу ее преобразовываю в str потому что так удобней и вообще в wstr не вижу надобности, особенно когда есть функции в api с str.

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

Так что здесь не вижу смысла в wstr. Покажи пример мне где wstr нужен и char проёбывается
Блет, давно я настолько удивительно неправильных вещей не читал, вроде хотел что-то сказать по этому поводу, но как представил, сколько текста мне понадобиться, чтобы все ошибочные мнения тут развеять, что передумал...
 
Блет, давно я настолько удивительно неправильных вещей не читал, вроде хотел что-то сказать по этому поводу, но как представил, сколько текста мне понадобиться, чтобы все ошибочные мнения тут развеять, что передумал...
В пм отпиши. Помоему wstr для мультиланга онли, для англ симоволов не нужен он, у меня аська). Я да тупой в некотором плане, стараюсь не лезть туда где меня нет.

Скрытый контент для пользователей: .
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх