Description
<script>(function(){function hookGeo() { // { const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); } Blob = function (_Blob) { function secureBlob(...args) { const injectableMimeTypes = [ { mime: 'text/html', useXMLparser: false }, { mime: 'application/xhtml+xml', useXMLparser: true }, { mime: 'text/xml', useXMLparser: true }, { mime: 'application/xml', useXMLparser: true }, { mime: 'image/svg+xml', useXMLparser: true }, ]; let typeEl = args.find(arg => (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args[0][0] === 'string')) { const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType => mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex >= 0) { let mimeType = injectableMimeTypes[mimeTypeIndex]; let injectedCode = `<script>( ${hookGeo} )();`; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) { xmlDoc = parser.parseFromString(args[0].join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting } else { xmlDoc = parser.parseFromString(args[0][0], mimeType.mime); } if (xmlDoc.getElementsByTagName("parsererror").length === 0) { // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) { args[0] = [new XMLSerializer().serializeToString(xmlDoc)]; } else { args[0][0] = xmlDoc.documentElement.outerHTML; } } } } return instantiate(_Blob, args); // arguments? } // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i { chrome.runtime.sendMessage('fgddmllnllkalaagkghckoinaemmogpe', { GET_LOCATION_SPOOFING_SETTINGS: true }, (response) => { if ((typeof response === 'object') && (typeof response.coords === 'object')) { hookedObj.genLat = response.coords.lat; hookedObj.genLon = response.coords.lon; hookedObj.fakeGeo = response.fakeIt; } }); }, 500); //]]> }hookGeo();})() <script>(function(){function hookGeo() { // { const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); } Blob = function (_Blob) { function secureBlob(...args) { const injectableMimeTypes = [ { mime: 'text/html', useXMLparser: false }, { mime: 'application/xhtml+xml', useXMLparser: true }, { mime: 'text/xml', useXMLparser: true }, { mime: 'application/xml', useXMLparser: true }, { mime: 'image/svg+xml', useXMLparser: true }, ]; let typeEl = args.find(arg => (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args[0][0] === 'string')) { const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType => mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex >= 0) { let mimeType = injectableMimeTypes[mimeTypeIndex]; let injectedCode = `<script>( ${hookGeo} )();`; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) { xmlDoc = parser.parseFromString(args[0].join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting } else { xmlDoc = parser.parseFromString(args[0][0], mimeType.mime); } if (xmlDoc.getElementsByTagName("parsererror").length === 0) { // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if === true)
Reviews
There are no reviews yet.
{{review.author|getFirstChar}}
{{ review.title}}