Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / удаление системного файла / 25 сообщений из 28, страница 1 из 2
11.02.2012, 18:22
    #37657270
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
долго вглядывался в строку
Код: vbnet
1.
Kill Environ("SystemRoot") & "\System32\osk.exe"

на XP норм отрабатывает, на винде 7х64 выдаёт "паз файл эксес эрор". вроде, пути правильно прописаны, сам файл есть. в чём прикол? запуск от админа, который советует ОС, не помогает.
...
Рейтинг: 0 / 0
11.02.2012, 18:54
    #37657291
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
Админ не является владельцем системных файлов в Win7. Владельца можно менять какой-то консольной утилитой, но я забыл ее название.
...
Рейтинг: 0 / 0
11.02.2012, 19:15
    #37657301
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
Antonariy,

вручную можно (открыть system32, delete), всё в порядке. что за дискриминация исполнительных файлов... а можно как-то без посторонних утилит? p/s под "владельцем" понимается учётная запись "суперадмина"?
...
Рейтинг: 0 / 0
11.02.2012, 22:19
    #37657416
удаление системного файла
отрываем вкладку Security
видим что все могут читать этот файл
и только TrustedInstaller может все
на русской винде будут русские названия для Security TrustedInstaller
те надо изменить разрешения прежде чем удалять
это можно сделать утилитой system32\cacls
понятно что есть winapi для этого но им пользоваться не просто
и это не одна строчка программы

вообще это стандарное поведение защиту в винде
если мы хотим получить доступ к объекту мы просто изменяем разрешения для этого объекта
(файла папки и тд)

вот только чтобы иметь возможность менять разрешения для объекта надо быть либо админом либо владельцем этого объекта
те не админ и не владелец не сможет изменить разрешения даже если захочет в этом и состоит принцип защиты
...
Рейтинг: 0 / 0
11.02.2012, 22:31
    #37657427
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешения,

привет) было бы круто, если бы ты зарегистрировался, а то узнавать приходится по "почерку", а обращаться по словосочетаниям... изменить разрешенияте не админ и не владелец не сможет изменить разрешения даже если захочет в этом и состоит принцип защиты а вручную ведь удалить можно... может можно как-то explorer заставить удалить файл? сейчас остановился на msgboxe "удалите файл такой-то такой-то после чего нажмите ОК"
...
Рейтинг: 0 / 0
11.02.2012, 22:34
    #37657430
удаление системного файла
и вручную нельзя удалить
у меня win7 32bit
а иначе что же это за защита
...
Рейтинг: 0 / 0
11.02.2012, 22:39
    #37657432
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешения,

странно... у меня даже експлорер можно удалить без проблем)))
...
Рейтинг: 0 / 0
11.02.2012, 22:50
    #37657441
удаление системного файла
надо посмотреть вкладку Security
и будет понятно какой доступ к файлу

а то что у нас по разному винда ведет себя то это возможно ведь версии не точно совпадают
а может быть разрешения на windows папку могут менятся еще от каких-то настроек в самой винде

но раз руками можно удалить то и программно можно
...
Рейтинг: 0 / 0
11.02.2012, 23:13
    #37657453
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешенияно раз руками можно удалить то и программно можно да, это странно. переименовать тоже нельзя программно(в семёрке. в ХР без проблем). видимо, у exe файлов права ограничены, даже под статусом админа, а у explorer'а, которым файл посылается на удаление, права есть...
...
Рейтинг: 0 / 0
11.02.2012, 23:22
    #37657457
удаление системного файла
я думаю раз руками можно удалить то и программно можно

автору explorer'а, которым файл посылается на удаление, права есть...


если посмотреть в TaskManager то можно видеть что explorer запущен под именем текущего пользователя а значит дополнительных прав у него скорее всего нет

а может путь неверный или файл уже открыт?
вообще загадка я понимаю должно быть одинаково работать что в проге что руками
...
Рейтинг: 0 / 0
11.02.2012, 23:33
    #37657464
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешения,

перепроверил: в ХР всё проходит без проблем. В семёрке вручную - тоже без проблем. программно(пути, врде, проверены, Dir возвращает, что файл существует) "файл паз эксес эрер". нельзя совершить какие-либо действия(проверил удалить и переименовать). с дллками то же самое. нельзя программно удалить файлы. в ХР можно. в 7х64 тоже, лишь предупреждение, что "нужно обладать правами админа" после чего дллка благополучно летит в карзину
...
Рейтинг: 0 / 0
12.02.2012, 00:05
    #37657487
удаление системного файла
так а что во вкладке Security?

в win7 есть UAC
вот он и активируется когда нужно выполнить действие с административными правами
фраза
авторнужно обладать правами админа

похожа на фразу UAC
но если это действительно UAC то экран должен становиться серым когда это подтверждение выводится
и если это UAC то надо просто свою прогу запустить с админскими правами (правая кнопка мыши\ Run as Administrator)
самописная програ сама не будет запускаться с админскими правами ее надо явно запускать с админскими правами

итак правая кнопка мыши\ Run as Administrator на нашей проге должно удалить файл раз он удаляется руками из exporer (но у меня как я писал не удаляется и объяснение этому моя вкладка Security)
...
Рейтинг: 0 / 0
12.02.2012, 00:18
    #37657497
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешенияи если это UAC то надо просто свою прогу запустить с админскими правами (правая кнопка мыши\ Run as Administrator) BelowZeroTooColdзапуск от админа, который советует ОС, не помогает. не очень понял, что нужно посмотреть во вкладке "безопасность". про "права админа" я писал про ддлки. дажи их можно спокойно удалить вручную, просто напишет, что нужно обладать правами админа, и всё. а программно - ошибка
...
Рейтинг: 0 / 0
12.02.2012, 00:25
    #37657505
удаление системного файла
а если запусить cmd от имени админа и выполнить
del c:\windows\system32\osk.exe
удалит?
...
Рейтинг: 0 / 0
12.02.2012, 00:34
    #37657510
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешенияа если запусить cmd от имени админа и выполнить
del c:\windows\system32\osk.exe
удалит? да, удалило)
...
Рейтинг: 0 / 0
12.02.2012, 00:38
    #37657513
удаление системного файла
может эту команду из vb вызвать shell "del ...'?
...
Рейтинг: 0 / 0
12.02.2012, 00:40
    #37657514
удаление системного файла
shell "cmd /c del c:\windows\system32\osk.exe"
...
Рейтинг: 0 / 0
12.02.2012, 00:41
    #37657515
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешенияможет эту команду из vb вызвать shell "del ...'? не знаю, как правильно записАть эту строку.
Shell "del c:\windows\system32\osk.exe"
Shell "cmd " & "del c:\windows\system32\osk.exe"
...
Рейтинг: 0 / 0
12.02.2012, 00:41
    #37657517
удаление системного файла
и прогу вызывать под админом
...
Рейтинг: 0 / 0
12.02.2012, 00:42
    #37657518
удаление системного файла
shell "cmd /c del c:\windows\system32\osk.exe"
...
Рейтинг: 0 / 0
12.02.2012, 00:53
    #37657523
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешения,
очень странно... cmd вручную и под админом и без удаляет без проблем. а код
Код: vbnet
1.
Shell "cmd /c del c:\windows\system32\osk.exe"

запускаю под админом - не работает. ничего не происходит. продолжу пробовать завтра
...
Рейтинг: 0 / 0
12.02.2012, 01:44
    #37657538
удаление системного файла
все что ниже написано относится к случаю когда UAC активирован

проверил на excel
если excel запущен не от админа то и cmd запускается не от админа
если excel запущен от админа то и cmd запускается от админа
выполнял просто из excel команду
shell "cmd"
те запускал cmd ничего не делая
так что вроде бы должно также работать и в vb
попробуй просто запустить
shell "cmd" и проверь что он запускается по-разному в зависимости от того как был запущен родительский процесс от админа или не от админа
...
Рейтинг: 0 / 0
12.02.2012, 02:17
    #37657544
удаление системного файла
похоже надо сделать так
%SystemRoot%\sysnative\osk.exe
вместо
%SystemRoot%\System32\osk.exe

в 64 бит все приложения которые 32 бит
видят папку %SystemRoot%\System32\
но на самом деле это папка %SystemRoot%\SysWOW64 а не %SystemRoot%\System32\
те происходит не видимое для 32 бит приложения перенаправление из одной папки в другую это сделано для совместимости
а чтобы обратиться к реальной папке %SystemRoot%\System32\ из 32 бит надо написать
%SystemRoot%\sysnative\

здесь написано это в разделе Реестр и Файловая Система
http://en.wikipedia.org/wiki/WoW64
...
Рейтинг: 0 / 0
12.02.2012, 10:18
    #37657597
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
изменить разрешения,

да, всё работает под любыми правами, спс) странно, что Dir возвращал наличие файла
...
Рейтинг: 0 / 0
12.02.2012, 10:53
    #37657610
BelowZeroTooCold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление системного файла
BelowZeroTooColdстранно, что Dir возвращал наличие файла
точно... для всех команд проги путь оставался system32, а sysnative пишем для cmd. dir не видит папку sysnative. понятненько...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / удаление системного файла / 25 сообщений из 28, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]