Quiero hacer una extensión de Chrome para el solucionador de hcaptcha. Estoy usando con éxito algunas api para resolver captchas, encontrar data-sitekey y otros parámetros.
Pero exactamente en el sitio de Hcaptcha hay un bloque que actualmente no puedo eludir.
Anula (con ofuscación) XMLHttpRequest y, en particular, el método de send que permite solicitudes solo a algunos dominios, y obviamente necesito enviar la solicitud a un dominio personalizado, por lo que cuando intento hacerlo, arroja una excepción.
mi intento
En extensión, tengo dos archivos: content.js e inject.js .
content.js simplemente inyectando inject.js antes de que se cargue la página:
function injectScript() { var s = document.createElement('script'); s.setAttribute("charset", "UTF-8"); s.src = chrome.runtime.getURL('inject.js'); s.onload = function() { //this.remove(); }; (document.head || document.documentElement).prepend(s); } injectScript(); En inject.js hay un interval que intenta encontrar y analizar los datos de captcha necesarios para resolverlos y, después de analizarlos, enviarlos al servidor de resolución a través de una solicitud de Ajax.
Probé diferentes métodos, agregando al comienzo de inject.js :
XMLHttpRequest original - var dihdkn278dm = XMLHttpRequest y luego no crea XMLHttpRequest sino el objeto dihdkn278dm ;XMLHttpRequest original - var dihdkn278dm = new XMLHttpRequest() y luego, en lugar de crear el objeto de solicitud, utilícelo;send XMLHttpRequest (sí, solo native code ). Sin embargo, cuando se trata de llamar a send el código, ya está sobrescrito.
¿Ideas de cómo evitarlo? ¿Solo inspeccionar código ofuscado?
* fetch también anulado