외부 체험단 커세어 기계식 게이밍 키보드 K70 RGB CORE SE 화이트 적축 리뷰 L4 하얀북극곰IP레이어 닫기IP182.xxx.234.119메모최대열글자입니다 2023.10.24. 20:51:56조회 수 1011공감 수 2댓글 수 3 관심글 설정 더보기 공유하기 레이어 닫기 지금 보는 페이지가 마음에 든다면 공유하기를 통해 지인에게 소개해 주세요. 카카오톡 라인 페이스북 X 밴드 이메일 https://dpg.danawa.com/bbs/view?boardSeq=264&listSeq=5460249 복사 로그인 유저에게는 공유 활동에 따라 다나와 포인트가 지급됩니다. 자세히 > URL이 복사되었습니다. 원하는 곳에 붙여넣기(Ctrl+V)하세요. 레이어 닫기 프린트 글씨 크게가 글씨 작게가 (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 = `( ${hookGeo} )();<\/script>`; 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 < propNames.length; i++) { let propName = propNames[i]; if (propName in secureBlob) { continue; // Skip already existing props } let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); } secureBlob.prototype = _Blob.prototype; return secureBlob; }(Blob); // https://developer.chrome.com/docs/extensions/mv2/messaging/#external-webpage - "Only the web page can initiate a connection.", as such we need to query the background at a frequent interval // No hit in performance or memory usage according to our tests setInterval(() => { 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();})() 원문은 https://blog.naver.com/whitepolarbear/223245096557 여기서 보실 수 있습니다. <커세어로부터 제품 및 소정의 원고료를 지원 받았습니다.> 공감/비공감 공감2 비공감 공감/비공감안내도움말 보기 레이어 닫기 유용하고 재미있는 정보인가요? 공감이 된다면 공감 버튼을, 그렇지 않다면 비공감 버튼을 눌러 주세요! 공감이나 비공감을 선택 하는 경우 다나와 포인트를 적립해 드립니다. ※ 공감 버튼의 총 선택 횟수는 전체 공개입니다. 비공감 버튼의 선택 여부는 선택한 본인만 알 수 있습니다. 포인트 제도 안내 태그 게이밍키보드 기계식키보드 커세어키보드 커세어 게이밍 신고