¿Puedo desactivar la verificación de contenido de extensión de Chrome?


15

Desde hace un tiempo, las extensiones de Google Chrome están 'verificadas por contenido', lo que significa que otras aplicaciones no pueden 'hackearlas'. Algo bueno, pero increíblemente molesto, porque los pirateo todo el tiempo, para modificarlos y mejorarlos.

Casi inmediatamente después de guardar un archivo de extensión, la extensión se deshabilita y aparece un mensaje en la página de extensiones locales:

Esta extensión puede haber sido dañada

¿Hay alguna manera de deshabilitar esta función de 'seguridad' y seguir hackeando? Me gustaría ser el jefe de mi navegador, no al revés.

Hay una bandera de cromo ( extension-content-verification), pero como dice la descripción:

Esto se puede usar para activar esta función si de otro modo no se hubiera activado, pero no se puede usar para desactivarla (porque esta configuración puede ser alterada por el malware).


Google no le permite deshabilitarlo, por lo que parece que su única opción es usar la edición canaria de Google Chrome, que está destinada a desarrolladores como usted.
Tomer

No quiero desarrollar en Chrome, pero algunas extensiones. No uso Canary para el cromado diario. Extraño, no es indescifrable. Es nuevo. ¿De alguna manera no fue un problema los últimos 4 años?
Rudie

Es una nueva característica que se supone que evita que el software malicioso agregue su propia extensión en Chrome sin el conocimiento del usuario.
Tomer

Lo que puede intentar es bloquear ciertas URL que utiliza Chrome para obtener los hases de las extensiones. (usando un proxy HTTPS)
Tomer

Agregar chrome.google.coma mi hostsno lo hace = (Probablemente tengan su propio sistema DNS o algo así. Hay un indicador, pero "[..] no se puede usar para desactivarlo (porque esta configuración puede ser alterada por malware)" Maldita sea.
Rudie

Respuestas:


11

Hay una cuarta forma de gestionar este problema y evitar el sistema de detección por completo. Como mencionas que quieres hackear tus extensiones, esto implica que tienes algún conocimiento del desarrollo de extensiones. También debe entenderse que las extensiones son, por su propia naturaleza, código fuente. Esto significa que tiene toda la fuente para jugar. Habiendo dicho eso...

El cuarto método es relativamente simple de la siguiente manera:

  1. Encuentre la extensión en la carpeta Extensiones en Datos de aplicación de Chrome
  2. Copie toda la carpeta de la Extensión y péguela en otro lugar
  3. Deshabilita la extensión original en Chrome
  4. Cambie el nombre de la carpeta de extensión abcsoupname recién copiada a MyNewExtension
  5. Cambiar a la carpeta MyNewExtension
  6. Eliminar _metadata
  7. Edite manifest.json y elimine las secciones key y update_url . Cambie las secciones de nombre y nombre corto para evitar cualquier confusión con la otra extensión deshabilitada.
  8. Valide y corrija su manifest.json en jsonlint.com
  9. Vaya a Configuración => Extensiones
  10. Habilite el Modo de desarrollador y luego 'Cargar extensión desempaquetada' en la nueva carpeta que acaba de crear.
  11. Voila Una nueva versión de esta extensión no bajo Control de contenido.

Ahora puede editar, manipular y administrar esta extensión como lo desee. Deberá hacer clic en Volver a cargar desde el área de extensiones cada vez que realice un cambio. Además, no recibirá actualizaciones del desarrollador original. Por lo tanto, deberá actualizar periódicamente y encontrar una manera de combinar los cambios actualizados en su código de extensión separado. Puede dejar intacto update_url , pero es probable que elimine cualquier cambio que realice en la próxima actualización. Es por eso que sugiero eliminarlo. Sin embargo, siéntase libre de experimentar.

Al dejar deshabilitada la extensión original, esto le permitirá habilitarla y recibir periódicamente actualizaciones para la versión del autor. A continuación, puede comparar las diferencias entre su versión personalizada y la versión del autor y combinar los cambios necesarios. Recomiendo este enfoque de actualización a su nueva extensión personalizada. Si opta por dejar el update_url activo, es probable que borre sus cambios en la próxima actualización (suponiendo que esto incluso funcione correctamente en una extensión modificada). Dado que algunas extensiones no se actualizan con mucha frecuencia, esto podría dejarlo en apuros para determinar qué cambió meses después cuando se lance la próxima actualización.

También deberá realizar estos pasos en cualquier extensión donde desee modificarla. Efectivamente, está creando una nueva extensión utilizando la base de código de una extensión existente y luego coloca esta extensión en modo desarrollador.

Tenga en cuenta que no use TextEdit de Mac para editar archivos json o reemplazará "con" o "y fallará la verificación de sintaxis json.


Esto fue mencionado antes. Es una solución decente, pero me gustaría recibir actualizaciones. En cambio, he aceptado defectos y me siento grande al respecto. Gracias por los pasos =)
Rudie

1
La dificultad es que desea editar la extensión y tener actualizaciones. Eso es mutuamente exclusivo. Si edita una extensión, después de la actualización, posiblemente perderá todos sus cambios al tener que recordar lo que cambió. Esto puede ser difícil si es meses después. Deshabilitar las actualizaciones y fusionar manualmente los cambios es la única forma factible de administrar esto.
Commorancy

Una actualización es solo una fusión en mi versión pirateada. Las fusiones pueden ser inteligentes. Si no, es un conflicto de fusión que puedo resolver. En cambio, elegí el enfoque paranoico y no uso ninguna extensión contrib, solo copié y pirateé como estás diciendo. Muy tarde respuesta, lo siento.
Rudie

Esto ya no funciona. Si su extensión no está disponible en la tienda de aplicaciones, se desactivará y no se podrá volver a habilitar sin eliminarla y agregarla nuevamente.
Wolfish

Hola Wolfish, esto definitivamente no es cierto. Los desarrolladores deben poder desarrollar extensiones localmente en su sistema. Esta es la razón por la cual Chrome ofrece un modo de desarrollador. Notarás en el paso 10 que necesitarás habilitar el Modo de desarrollador. Esta es la clave Sin el modo de desarrollo habilitado, no puede cargar extensiones externas. Los desarrolladores no pueden crear extensiones al verse obligados a subirlas a la tienda para realizar pruebas que también exponen el código inacabado al público (aún más riesgoso). Sin embargo, Chrome es muy diligente al pedirle que desactive el modo de desarrollo en cada reinicio de Chrome.
Commorancy

6

Debido a que Google no le permite deshabilitar la función de verificación de contenido de extensión de ninguna manera, sus posibles soluciones son básicamente:

  1. Use la edición canaria de Chrome, que le permite editar extensiones y agregar sus propias extensiones sin ninguna advertencia
  2. Copie el directorio de extensión en otro lugar, elimine la _metadatacarpeta y cárguela en modo desarrollador. El inconveniente de esta solución es que cada vez que abras Chrome, verás un mensaje que te pide que desactives la extensión. (porque está en modo desarrollador)
  3. Evita que Chrome obtenga los hash de la extensión, de modo que no pueda verificar su contenido. El inconveniente de esta solución es que es posible que no pueda descargar / actualizar otras extensiones.

    Para hacer esto:

    1. Agregue la línea 127.0.0.1 clients2.googleusercontent.comen su hostsarchivo (generalmente debajo C:\Windows\System32\drivers\etc)
    2. Borre el caché DNS de Chrome o espere unos minutos
    3. Cierre Chrome y realice algunos cambios en la extensión.
    4. Elimine la _metadatacarpeta del directorio de la extensión (que almacena los hashes originales)
    5. Relanzar Chrome

También puede usar un servidor proxy HTTPS para bloquear solo las solicitudes relevantes, pero eso sería demasiado hacky.


1. parece hacer algo =) pero ahora no puedo descargar extensiones y todavía está bloqueado. Intento # 2. Más mañana.
Rudie

¿Todavía dice que está dañado? intente eliminar la _metadatacarpeta que almacena los hashes de Google.
Tomer

Esto funciona, pero ahora no puedo descargar otras extensiones ... ¿Por qué no simplemente descargar chrome.google.com, sino verificar en un dominio diferente? Siempre tiene que hacer esto difícil. No creo que sea posible un proxy HTTPS. Probablemente tengan cubierto el enfoque MITM. (2) es probablemente la mejor solución, de todos modos ya tengo algunos desarrolladores en ejecución. Sin embargo, no hay actualizaciones = (¡Gracias!
Rudie

De acuerdo, pero no creo que realmente puedan hacer nada con respecto a MITM si le dices a tu computadora que confíe en tu propia autoridad de certificación. tal vez intente mitmproxy o algo así.
Tomer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.