Gdzie Windows 7 przechowuje „ostrzeżenia” o .LNK? (I jak usunąć ostrzeżenie)

1

Mam zainstalowany program. Tak naprawdę nie ma znaczenia, który.

Po dwukrotnym kliknięciu pliku wykonywalnego uruchamia się bez problemów.

Jeśli utworzę łącze na pasku zadań lub na pasku menu, kliknięcie tego łącza spowoduje otwarcie okna dialogowego z ostrzeżeniem: „Otwórz plik - ostrzeżenie dotyczące bezpieczeństwa” ze szczegółowym opisem, że „chociaż pliki z Internetu mogą być przydatne, ten typ pliku może potencjalnie uszkodzić komputer” .

Wiem, że mogę pozbyć się ostrzeżenia , ale nie chcę usuwać zabezpieczeń ze wszystkich linków. Tylko z tego i chcę przy tym uzyskać dostęp do UAC. Po że link powinien być weryfikowane i otwarty bez dalszej zwłoki w historii .

Jeśli utworzę łącze na pulpicie, a następnie skopiuję go na pasku menu , a następnie przeniesię łącze na tym samym pasku menu, otrzymam dwa łącza na tym samym pasku menu.

Pierwszy otwiera okno dialogowe. Drugi nie: bezpośrednio otwiera aplikację.

W tym momencie zaciekawiło mnie: jaka jest różnica między tymi dwoma plikami?

  • nazwa pliku: nie
  • zawartość pliku: ani. Mają ten sam skrót MD5.
  • atrybuty: brak radości, mają identyczne atrybuty.
  • może alternatywny strumień danych? Mogło być - ale nie jest. Do żadnego pliku .LNK nie dołączono ADS.
  • w rejestrze? To nie ma sensu, ale znowu wydaje się, że w rejestrze nie ma nic takiego.
  • Metadane MFT? Próbowałem użyć tego narzędzia i prawdopodobnie popełniłem błąd, ale nie znalazłem niczego oczywistego (nie jestem pewien, że nie było, pamiętajcie o tym).

Próbowałem zerknąć na metadane $ MFT i znalazłem różnicę, której nie znam znaczenia, między polami „Informacje ogólne” obu plików. Eksplorator NTFS zgłasza sekcje jako identyczne; w rzeczywistości nie są. Po polach daty i atrybutach DOS istnieją dwie sekwencje szesnastkowe, które są różne:

File1
00 00 00 00 88 03 00 00 00 00 00 00 00 00 00 00 
10 45 41 22 00 00 00 00

File2
00 00 00 00 A6 03 00 00 00 00 00 00 00 00 00 00 
18 44 41 22 00 00 00 00

Gdyby różnica była tylko jedna, byłbym pewien, ale tak nie jest. Nie jestem zbyt optymistyczny w losowym modyfikowaniu $ MFT, aby zobaczyć, co się dzieje - boję się nieco tego, co może się zdarzyć. Co więcej, wydaje mi się głupie, że nie jest to nierozsądna operacja („ usuń ostrzeżenie z tego linku tutaj ”), dla której istnieje nawet łatwe do znalezienia obejście („ utwórz link na pulpicie i przenieś się tam, gdziekolwiek to naprawdę” potrzebne do przejścia ”) powinno być tak skomplikowane, a nawet potrzebować narzędzia innej firmy.

Spodziewam się, że powinno być jakieś powiązane narzędzie lub procedura o tym samym działaniu, aby umożliwić edycję tej tajemniczej i nieuchwytnej flagi „Ostrzeżenie internetowe”.

Więc gdzie jest przechowywany? Czy istnieje prosty sposób na usunięcie go (na następny raz)?

LSerni
źródło

Odpowiedzi:

1

Informacje faktycznie znajdowały się w strefie DACL i można je edytować z wiersza poleceń za pomocą odpowiedniego narzędzia .

Usuwa to ostrzeżenie z pliku „filename.lnk” (należy go uruchomić z powłoki poleceń, używam CMD ze względu na dawne czasy):

ICACLS filename.lnk /SetIntegrityLevel M /L

Można traktować całe drzewo katalogów linków

ICACLS *.lnk /T /L /SetIntegrityLevel M

uruchomiono z folderu głównego.

Myślę, że byłoby możliwe utworzenie operacji powłoki („Odblokuj”), która mogłaby uruchomić polecenie ICACLS po kliknięciu prawym przyciskiem myszy pliku .LNK. Początkowy samouczek można znaleźć tutaj (Vista, ale Seven nie powinien być inny).

Utwórz polecenie menu „Odblokuj”

  1. Otwórz REGEDITnarzędzie. Obowiązują zwykłe przestrogi. REGEDIT może zniszczyć twój system!
  2. Otwórz HKEY_CLASSES_ROOTul.
  3. Znajdź lnkfilewpis.
  4. Kliknij prawym przyciskiem myszy plik lnk i wybierz „Nowy> Klucz”.
  5. Utwórz nowy klucz o nazwie „shell”.
  6. Powtórz powyższe kroki, aby utworzyć klucz o nazwie „Odblokuj” w „powłoce”.
  7. Powtórz powyżej, aby utworzyć „polecenie” w „Odblokuj”
  8. Edytuj wartość domyślną klucza Odblokuj, aby czytał

    CMD.EXE /S /C "ICACLS %1 /L /SetIntegrityLevel med"
    

Close REGEDIT.

Teraz zlokalizuj LNK, który sprawiał ci problemy. Kliknij go prawym przyciskiem myszy; powinieneś zobaczyć pozycję „Odblokuj” w menu. Wybierz to.

Pojawi się monit UAC, który należy uzgodnić, a także może pojawić się ostrzeżenie sprawdzające, czy naprawdę jesteś pewien, że to zrobisz.

Teraz, jeśli klikniesz dwukrotnie link, aplikacja zostanie uruchomiona bez żadnych problemów. Jeśli masz ostrzeżenie UAC, a nie ostrzeżenie o otwarciu pliku , powyższa procedura nie wystarczy. Musisz także kliknąć łącze prawym przyciskiem myszy i wybrać z jego właściwości „Uruchom jako administrator” (może to samo zrobić z samą aplikacją).

Testowane i działające na Windows 7 Pro i Ultimate.

LSerni
źródło
Działa również w systemie Windows 10.
john16384