Czy mogę wyłączyć weryfikację treści rozszerzenia Chrome?

15

Od niedawna rozszerzenia Google Chrome są „weryfikowane pod względem zawartości”, co oznacza, że ​​inne aplikacje nie mogą ich „zhakować”. Coś dobrego, ale niesamowicie denerwującego, ponieważ cały czas je hakuję, aby ulepszyć i ulepszyć.

Niemal natychmiast po zapisaniu pliku rozszerzenia rozszerzenie jest wyłączone, a na stronie lokalnych rozszerzeń pojawia się komunikat:

To rozszerzenie mogło być uszkodzone

Czy mogę wyłączyć tę funkcję „bezpieczeństwa” i nadal hakować? Chciałbym być szefem mojej przeglądarki, a nie na odwrót.

Istnieje flaga chrome ( extension-content-verification), ale zgodnie z opisem:

Można tego użyć do włączenia tej funkcji, jeśli inaczej nie zostałaby włączona, ale nie można jej użyć (ponieważ to ustawienie może zostać zmienione przez złośliwe oprogramowanie).

Rudie
źródło
Google nie pozwala Ci go wyłączyć, więc wygląda na to, że jedyną opcją jest użycie kanaryjskiej wersji Google Chrome, która jest przeznaczona dla programistów takich jak Ty.
Tomer
Nie chcę tworzyć w Chrome, ale niektóre rozszerzenia. Nie używam Canary na dzisiejszy Chroming. Dziwne, że nie można tego znieść. Jest nowe. Jakoś problem nie trwał 4 lata?
Rudie,
To nowa funkcja, która ma uniemożliwić złośliwemu oprogramowaniu dodawanie własnego rozszerzenia do Chrome bez wiedzy użytkownika.
Tomer
Możesz spróbować zablokować określone adresy URL używane przez Chrome do uzyskiwania haseł rozszerzeń. (przy użyciu serwera proxy HTTPS)
Tomer
Dodanie chrome.google.comdo mojego hostsnie robi tego = (Prawdopodobnie mają swój własny system DNS lub coś takiego. Istnieje flaga, ale „[..] nie można jej wyłączyć (ponieważ to ustawienie może zostać zmienione przez złośliwe oprogramowanie)” , Cholera
Rudie

Odpowiedzi:

11

Istnieje czwarty sposób na rozwiązanie tego problemu i całkowite uniknięcie systemu wykrywania. Ponieważ wspomniałeś, że chcesz zhakować swoje rozszerzenia, oznacza to, że masz pewną wiedzę na temat tworzenia rozszerzeń. Należy również rozumieć, że rozszerzenia są z natury kodem źródłowym. Oznacza to, że masz całe źródło, z którym możesz bawić się. Biorąc to pod uwagę ...

Czwarta metoda jest stosunkowo prosta, jak następuje:

  1. Znajdź rozszerzenie w folderze Rozszerzenia w danych aplikacji Chrome
  2. Skopiuj cały folder rozszerzenia i wklej go gdzie indziej
  3. Wyłącz oryginalne rozszerzenie w Chrome
  4. Zmień nazwę nowo skopiowanego folderu rozszerzenia abcsoupname na MyNewExtension
  5. Przejdź do folderu MyNewExtension
  6. Usuń _metadane
  7. Edytuj manifest.json i usuń sekcję key i update_url . Zmień sekcje nazwy i krótkiej nazwy, aby uniknąć pomyłek z innym wyłączonym rozszerzeniem.
  8. Sprawdź poprawność i popraw manifest manifest.json na stronie jsonlint.com
  9. Przejdź do Ustawienia => Rozszerzenia
  10. Włącz tryb programisty, a następnie „Załaduj rozpakowane rozszerzenie” w nowo utworzonym folderze.
  11. Voila Nowa wersja tego rozszerzenia nie objęta kontrolą treści.

Możesz teraz edytować, modyfikować i zarządzać tym rozszerzeniem według własnego uznania. Będziesz musiał kliknąć Odśwież w obszarze rozszerzeń za każdym razem, gdy wprowadzasz zmiany. Nie będziesz także otrzymywać aktualizacji od pierwotnego programisty. Musisz więc okresowo aktualizować i wymyślić sposób scalenia zaktualizowanych zmian w oddzielnym kodzie rozszerzenia. Możesz pozostawić nietknięty update_url , ale prawdopodobnie usunie on wszelkie zmiany, które wprowadzisz w następnej aktualizacji. Dlatego sugeruję usunięcie go. Chociaż możesz eksperymentować.

Pozostawienie oryginalnego rozszerzenia wyłączone, umożliwi to włączenie go i okresowe otrzymywanie aktualizacji wersji autora. Następnie możesz porównać różnice między wersją niestandardową a wersją autora i scalić wszelkie niezbędne zmiany. Zdecydowanie polecam to podejście aktualizacji do nowego niestandardowego rozszerzenia. Jeśli zdecydujesz się pozostawić parametr update_url aktywny, prawdopodobnie wyczyści on twoje zmiany przy następnej aktualizacji (zakładając, że działa to nawet poprawnie na zmodyfikowanym rozszerzeniu). Ponieważ niektóre rozszerzenia nie aktualizują się zbyt często, może to oznaczać, że będziesz się starał ustalić, co zmieniłeś miesiące później, kiedy pojawi się kolejna aktualizacja.

Będziesz także musiał wykonać te kroki na każdym rozszerzeniu, w którym chcesz je zmodyfikować. W efekcie tworzysz zupełnie nowe rozszerzenie, używając bazy kodu istniejącego rozszerzenia, a następnie przełączasz je w tryb programisty.

Uwaga: nie używaj programu TextEdit dla komputerów Mac do edytowania plików json, ponieważ zastąpi to „z” lub „i nie powiedzie się sprawdzanie składni json.

Commorancy
źródło
Zostało to wspomniane wcześniej. To przyzwoite rozwiązanie, ale chciałbym otrzymywać aktualizacje. Zamiast tego zaakceptowałem wady i bardzo mnie to podoba. Dzięki za kroki =)
Rudie
1
Trudność polega na tym, że chcesz edytować rozszerzenie i mieć aktualizacje. To się wyklucza. Jeśli edytujesz rozszerzenie, po aktualizacji potencjalnie stracisz wszystkie zmiany, pamiętając o tym, co zmieniłeś. Może to być trudne, jeśli miną miesiące. Wyłączanie aktualizacji i ręczne łączenie zmian to jedyny możliwy sposób na zarządzanie tym.
Commorancy
Aktualizacja to tylko połączenie mojej zhakowanej wersji. Połączenia mogą być inteligentne. Jeśli nie, to mogę rozwiązać konflikt scalania. Zamiast tego wybrałem podejście paranoiczne i nie używam żadnego rozszerzenia contrib, po prostu skopiowałem i zhakowałem jak mówisz. Bardzo późna odpowiedź, przepraszam.
Rudie
To już nie działa. Jeśli Twoje rozszerzenie nie jest dostępne w sklepie z aplikacjami, zostanie wyłączone i nie będzie można go ponownie włączyć bez usunięcia i dodania go ponownie.
Wolfish
Cześć Wolfish, to zdecydowanie nie jest prawda. Programiści muszą mieć możliwość opracowywania rozszerzeń lokalnie w swoim systemie. Z tego powodu Chrome oferuje tryb programisty. W kroku 10 zauważysz, że musisz włączyć tryb programisty. To jest klucz. Bez włączonego trybu deweloperskiego nie można ładować zewnętrznych rozszerzeń. Programiści nie mogą tworzyć rozszerzeń, zmuszając ich do przesłania do sklepu w celu przetestowania, co również ujawnia niedokończony kod publicznie (nawet bardziej ryzykowne). Jednak Chrome bardzo pilnie prosi o wyłączenie trybu deweloperskiego przy każdym ponownym uruchomieniu Chrome.
Commorancy
6

Ponieważ Google nie pozwala w żaden sposób wyłączyć funkcji weryfikacji treści rozszerzenia, możliwe obejścia to:

  1. Skorzystaj z kanaryjskiej wersji Chrome, która pozwala edytować rozszerzenia i dodawać własne rozszerzenia bez ostrzeżeń
  2. Skopiuj katalog rozszerzenia w inne miejsce, usuń _metadatafolder i załaduj go w trybie programisty. Wadą tego obejścia jest to, że za każdym razem, gdy otwierasz chrome, zobaczysz komunikat z prośbą o wyłączenie rozszerzenia. (ponieważ jest w trybie programisty)
  3. Zapobiegaj pobieraniu przez Chrome skrótów rozszerzenia, aby nie mógł zweryfikować jego zawartości. Wadą tego obejścia jest to, że możesz nie być w stanie pobrać \ zaktualizować innych rozszerzeń.

    Aby to zrobić:

    1. Dodaj linię 127.0.0.1 clients2.googleusercontent.comdo hostspliku (zwykle poniżej C:\Windows\System32\drivers\etc)
    2. Wyczyść pamięć podręczną DNS Chrome lub poczekaj kilka minut
    3. Zamknij Chrome i wprowadź zmiany w rozszerzeniu
    4. Usuń _metadatafolder z katalogu rozszerzenia (który przechowuje oryginalne skróty)
    5. Uruchom ponownie Chrome

Możesz również użyć serwera proxy HTTPS, aby zablokować tylko odpowiednie żądania, ale byłoby to zbyt hackerskie.

Tomer
źródło
1. wydaje się coś robić =), ale teraz nie mogę pobrać rozszerzeń i nadal jest zablokowane. Próba nr 2. Więcej jutro.
Rudie,
Czy nadal mówi, że jest zepsuty? spróbuj usunąć _metadatafolder, w którym przechowywane są skróty z Google.
Tomer
To działa, ale teraz nie mogę pobierać innych rozszerzeń ... Dlaczego po prostu nie pobierał chrome.google.com, ale sprawdzał inną domenę? Zawsze trzeba to utrudniać. Nie sądzę, aby proxy HTTPS było możliwe. Prawdopodobnie obejmują one podejście MITM. (2) jest prawdopodobnie najlepszym rozwiązaniem, i tak mam już kilka uruchomionych programów. Brak aktualizacji = (Dzięki!
Rudie,
Okej, ale nie sądzę, aby naprawdę mogli cokolwiek zrobić w sprawie MITM, jeśli powiesz komputerowi, aby zaufał własnemu urzędowi certyfikacji. może spróbuj mitmproxy lub coś takiego.
Tomer