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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

проверил на excel
если excel запущен не от админа то и cmd запускается не от админа
если excel запущен от админа то и cmd запускается от админа
выполнял просто из excel команду
shell "cmd"
те запускал cmd ничего не делая
так что вроде бы должно также работать и в vb
попробуй просто запустить
shell "cmd" и проверь что он запускается по-разному в зависимости от того как был запущен родительский процесс от админа или не от админа
...
Рейтинг: 0 / 0
удаление системного файла
    #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
удаление системного файла
    #37657597
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
изменить разрешения,

да, всё работает под любыми правами, спс) странно, что Dir возвращал наличие файла
...
Рейтинг: 0 / 0
удаление системного файла
    #37657610
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroTooColdстранно, что Dir возвращал наличие файла
точно... для всех команд проги путь оставался system32, а sysnative пишем для cmd. dir не видит папку sysnative. понятненько...
...
Рейтинг: 0 / 0
удаление системного файла
    #37659882
так а
kill "c:\windows\sysnative\osk.exe"
если скомпилить и запусить этот процесс как админ
удалит файл или нет?
...
Рейтинг: 0 / 0
удаление системного файла
    #37659904
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
изменить разрешениятак а
kill "c:\windows\sysnative\osk.exe"
если скомпилить и запусить этот процесс как админ
удалит файл или нет? да, удаляет) остаётся только правильно распознать х32 ОС или х64 либо запихать в код обе строки с On Error Resume Next))
...
Рейтинг: 0 / 0
удаление системного файла
    #37816418
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
воть... код, стыренный из vbscript. мб кому-нить или мне в будущем ещё пригодится
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
Dim WshProEnv As Object
Set WshProEnv = WshShell.Environment("SYSTEM")
Dim SysInfo As String
SysInfo = WshProEnv.Item("PROCESSOR_ARCHITECTURE")
 MsgBox SysInfo
If SysInfo = "x86" Then
 ' винда ХР 32
Else
 ' не 32
End If
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / удаление системного файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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