Posso disabilitare la verifica del contenuto delle estensioni di Chrome?


15

Da un po 'di tempo, le estensioni di Google Chrome sono "verificate dai contenuti", il che significa che altre app non possono "hackerarle". Un po 'una cosa buona, ma incredibilmente fastidiosa, perché li hackeravo continuamente, per modificare e migliorare.

Quasi immediatamente dopo il salvataggio di un file di estensione, l'estensione viene disabilitata e nella pagina delle estensioni locali viene visualizzato un messaggio:

Questa estensione potrebbe essere stata danneggiata

Esiste un modo per disabilitare questa funzione di "sicurezza" e continuare a fare hacking? Vorrei essere il capo del mio browser, non viceversa.

C'è una bandiera cromata ( extension-content-verification), ma come dice la descrizione:

Questo può essere usato per attivare questa funzione se non sarebbe stata altrimenti attivata, ma non può essere utilizzata per disattivarla (perché questa impostazione può essere manomessa da malware).


Google non ti consente di disabilitarlo, quindi sembra che la tua unica opzione sia quella di utilizzare l'edizione canaria di Google Chrome, che è destinata a sviluppatori come te.
Tomer,

Non voglio sviluppare su Chrome, ma alcune estensioni. Non uso Canary per il Chroming quotidiano. Strano non è inopportuno. È nuovo. In qualche modo non è stato un problema negli ultimi 4 anni?
Rudie,

È una nuova funzionalità che dovrebbe impedire a software dannoso di aggiungere la propria estensione a Chrome senza che l'utente ne sia a conoscenza.
Tomer,

Quello che puoi provare è bloccare determinati URL utilizzati da Chrome per ottenere l'hash delle estensioni. (usando un proxy HTTPS)
Tomer,

Aggiungendo chrome.google.coma my hostsnon lo fa = (Probabilmente hanno il loro sistema DNS o qualcosa del genere. C'è un flag, ma "[..] non può essere usato per disattivarlo (perché questa impostazione può essere manomessa da malware)" . Dannazione.
Rudie

Risposte:


11

Esiste un quarto modo per gestire questo problema ed evitare del tutto il sistema di rilevamento. Poiché dici che vuoi hackerare le tue estensioni, questo implica che hai una certa conoscenza dello sviluppo delle estensioni. È anche inteso che le estensioni sono, per loro stessa natura, codice sorgente. Ciò significa che hai l'intera fonte con cui giocherellare. Detto ciò...

Il quarto metodo è relativamente semplice come segue:

  1. Trova l'estensione nella cartella Estensioni in Dati applicazioni di Chrome
  2. Copia l'intera cartella dell'estensione e incollala altrove
  3. Disabilita l'estensione originale in Chrome
  4. Rinominare la cartella di estensione abcsoupname appena copiata in MyNewExtension
  5. Passare alla cartella MyNewExtension
  6. Elimina _metadata
  7. Modifica manifest.json e rimuovi le sezioni chiave e update_url . Modificare le sezioni name e short_name per evitare confusione con l'altra estensione disabilitata.
  8. Convalida e correggi manifest.json su jsonlint.com
  9. Vai su Impostazioni => Estensioni
  10. Abilita la modalità sviluppatore e quindi "Carica estensione decompressa" nella nuova cartella appena creata.
  11. Ecco. Una nuova versione di questa estensione non sotto Controllo contenuto.

Ora puoi modificare, manipolare e gestire questa estensione come desideri. Dovrai fare clic su Ricarica dall'area delle estensioni ogni volta che apporti una modifica. Inoltre, non riceverai aggiornamenti dallo sviluppatore originale. Pertanto, dovrai aggiornare periodicamente e trovare un modo per unire le modifiche aggiornate nel tuo codice di estensione separato. Potresti riuscire a lasciare intatto update_url , ma probabilmente cancellerà tutte le modifiche apportate al prossimo aggiornamento. Questo è il motivo per cui suggerisco di rimuoverlo. Tuttavia, sentiti libero di sperimentare.

Lasciando disabilitata l'estensione originale, ciò ti consentirà di abilitarlo e di ricevere periodicamente aggiornamenti per la versione dell'autore. È quindi possibile confrontare le differenze tra la versione personalizzata e la versione dell'autore e unire le modifiche necessarie. Consiglio vivamente questo approccio di aggiornamento alla tua nuova estensione personalizzata. Se scegli di lasciare update_url attivo, probabilmente cancellerai le modifiche al prossimo aggiornamento (supponendo che funzioni anche correttamente su un'estensione modificata). Dal momento che alcune estensioni non si aggiornano molto spesso, questo potrebbe lasciarti in difficoltà per determinare cosa hai cambiato mesi dopo il rilascio del prossimo aggiornamento.

Sarà inoltre necessario eseguire questi passaggi su qualsiasi estensione in cui si desidera modificarlo. In effetti, stai creando una nuovissima estensione usando la base di codice di un'estensione esistente e quindi mettendo questa estensione in modalità sviluppatore.

Nota, non utilizzare TextEdit di Mac per modificare i file JSON o sostituirà "con" o "e fallirà il controllo della sintassi JSON.


Questo è stato menzionato prima. È una soluzione decente, ma vorrei ricevere aggiornamenti. Invece, ho accettato i difetti e mi sento grande per questo. Grazie per i passaggi =)
Rudie il

1
La difficoltà è che vuoi modificare l'estensione e avere aggiornamenti. Si escludono a vicenda. Se modifichi un'estensione, al momento dell'aggiornamento perderai potenzialmente tutte le modifiche dovendo ricordare ciò che hai modificato. Questo può essere difficile se è mesi dopo. La disabilitazione degli aggiornamenti e l'unione manuale delle modifiche è l'unico modo possibile per gestirlo.
Commorancy il

Un aggiornamento è solo una fusione nella mia versione compromessa. Le fusioni possono essere intelligenti. Altrimenti, è un conflitto di unione che posso risolvere. Invece ho scelto l'approccio paranoico e non ho usato alcuna estensione contrib, solo copiato e hackerato come stai dicendo. Risposta molto tardi, scusa.
Rudie,

Questo non funziona più. Se la tua estensione non è disponibile su App Store, verrà disabilitata e non potrà essere riattivata senza rimuoverla e aggiungerla di nuovo.
Wolfish,

Ciao Wolfish, questo non è assolutamente vero. Gli sviluppatori devono essere in grado di sviluppare estensioni localmente sul proprio sistema. Questo è il motivo per cui Chrome offre una modalità sviluppatore. Noterai al passaggio 10 che dovrai abilitare la Modalità sviluppatore. Questa è la chiave Senza la modalità di sviluppo abilitata, non è possibile caricare estensioni esterne. Gli sviluppatori non possono creare estensioni costringendole a caricarle nello store per i test che espongono anche al pubblico codice incompiuto (ancora più rischioso). Tuttavia, Chrome è molto diligente nel chiederti di disattivare la modalità dev ad ogni riavvio di Chrome.
Commemorazione

6

Poiché Google non ti consente di disabilitare in alcun modo la funzione di verifica del contenuto dell'estensione, le possibili soluzioni alternative sono sostanzialmente:

  1. Utilizza l'edizione canary di Chrome, che ti consente di modificare le estensioni e aggiungere le tue estensioni senza alcun avviso
  2. Copia la directory delle estensioni da qualche altra parte, elimina la _metadatacartella e caricala in modalità sviluppatore. Lo svantaggio di questa soluzione alternativa è che ogni volta che apri Chrome vedrai un messaggio che ti chiede di disabilitare l'estensione. (perché è in modalità sviluppatore)
  3. Impedisci a Chrome di ottenere gli hash dell'estensione, in modo che non sia in grado di verificarne il contenuto. Lo svantaggio di questa soluzione alternativa potrebbe non essere possibile scaricare \ aggiornare altre estensioni.

    Per farlo:

    1. Aggiungi la linea 127.0.0.1 clients2.googleusercontent.comal tuo hostsfile (di solito sotto C:\Windows\System32\drivers\etc)
    2. Svuota la cache DNS di Chrome o attendi qualche minuto
    3. Chiudi Chrome e apporta alcune modifiche all'estensione
    4. Elimina la _metadatacartella dalla directory dell'estensione (che memorizza gli hash originali)
    5. Riavvia Chrome

Puoi anche utilizzare un server proxy HTTPS per bloccare solo le richieste pertinenti, ma sarebbe troppo complicato.


1. sembra fare qualcosa =) ma ora non riesco a scaricare le estensioni ed è ancora bloccato. Tentativo # 2. Altro domani.
Rudie,

Dice ancora che è danneggiato? prova a eliminare la _metadatacartella in cui sono archiviati gli hash da Google.
Tomer,

Funziona, ma ora non riesco a scaricare altre estensioni ... Perché non dovrebbe semplicemente scaricare da chrome.google.com, ma controllare un dominio diverso? Devo sempre renderlo difficile. Non credo sia possibile un proxy HTTPS. Probabilmente hanno coperto l'approccio MITM. (2) è probabilmente la soluzione migliore, ho già qualche dev ext in esecuzione comunque. Nessun aggiornamento però = (Grazie!
Rudie,

Okay, ma non credo che possano davvero fare qualcosa per il MITM se dici al tuo computer di fidarsi della tua stessa autorità di certificazione. forse prova mitmproxy o qualcosa del genere.
Tomer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.