• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Быстрое копирование оффера для чайников (гайд для дрейнеров)

achobem

RAM
Пользователь
Регистрация
12.06.2022
Сообщения
143
Реакции
178
Решил внести немного пользы в дрейн комьюнити и накатать простой, но бодрый гайд для всех, кто работает с трафом, но не хочет копаться в HTML, не шарит в верстке или просто не готов ждать, пока технарь выйдет на связь

Этот способ не про идеальные копии, он про скорость и простоту
Работаем на примере Angelferno


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

1. Браузер Firefox
2. Расширение SingleFile (именно про него подробно я все расписал)
3. (Опционально) WebScrapBook (все то же самое, просто не надо прописывать теги и еще нюансы ниже)

1748396909014.png


Что делают эти расширения:
SingleFile - сохраняет страницу в один .html файл. Всё, что видишь на экране - в одном куске

1748398019009.png


WebScrapBook - вытягивает весь сайт как есть, включая структуру, картинки, скрипты. Имхо качественнее получается, да и разметка имеется

1748398090925.png


Шаг за шагом:

1. Установка

Ставим Firefox, качаем расширения из магазина. Всё по стандарту

2. Заходим на нужный оффер
Переходим по линку нашей цели и ждём полной загрузки или идем куда нам там нужно

3. Сохраняем страницу
Кликаем на иконку SingleFile и ждём, пока он засейвит страницу → на выходе получаем жесткопугающеимя.html

4. Готовим рабочую папку
Создаём новую папку, кидаем туда этот файл, переименовываем в index.html
Двойной клик по нему - откроется в Firefox

5. Удаляем политику безопасности (очень важно)
SingleFile часто вставляет блокирующую мету, которая рубит твои скрипты

  • Открываем index.html в любом редакторе
  • Жмём Ctrl + F, ищешь policy
  • Удаляешь строчку типа:

HTML:
<meta http-equiv="Content-Security-Policy" ...

Часто сразу после этой строки уже автоматически стоит <body>
Проверь
Если нет - вставим позже

6. Вставляем скрипт обработки кликов
Чтобы всё нажималось и отрабатывало - вставляем в самый низ файла:

HTML:
<script>
  document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('button, span, a').forEach(el => {
      if (el.tagName === 'A') el.removeAttribute('href');
      el.classList.add('interact-button');
    });

    document.querySelectorAll('[ad-data-linked]').forEach(el => {
      el.removeAttribute('ad-data-linked');
    });

    console.log('Elements updated');
  });
</script>
<style>
  .interact-button {
    cursor: pointer;
  }
</style>
</body></html>

Обратите внимание: тут уже закрываются теги </body> и </html>
поэтому нам нужно разобраться с открытием body
Добавить над ним /head
Короче по ситуации, надеюсь суть уловили
Если чего-то нет - вставляем, усё просто


6. Вставляем JS из Angelferno
Из панели Angelferno получаем:

  • JS-файл + строчку <script>
  • Архив file.zip с медиа и шаблоном


Что делаем:

1. Распаковываем file.zip прямо туда же, где твой index.html
2. Переносим handler.js в ту же папку
3. Вставляем в HTML-ку перед закрывающим </head>:
выше в коде должно быть

HTML:
<head>
бла
бла
бла
  <script src="handler.js"></script>
</head>
<body>
бла
бла
бла

Это важно! Скрипт должен грузиться до </head>, иначе ловишь ошибки


8. Проверка и настройка на клики
Открываем index.html двойным кликом → правой кнопкой мыши+inspect

Ctrl+Shift+c или в углу жмёшь квадрат с мышкой → наводимся на нужную кнопку → видим тегу кнопку <button или <span или <a

1748396996731.png


Эту тегу можешь добавить в селектор из пункта 6
Дада, то что мы вставляли в самый низ
Ищем строку:

HTML:
document.querySelectorAll('button, span, a, или что-то другое')

Чаще всего работают button, span, a, но иногда встречается что-то своё, индивидуальное

Финальный этап: упаковка и загрузка
Обновляете открытый index.html в firefox и тыкаете на кнопки
Если все как надо и модалка локально у тебя вылезает:
Берёте весь контент (html + js + распакованный архив + другие папки если юзали скрапбук)
Собираете это в один .zip и возьмите пирожок с полки!


P.S можете захостить прям в ангеле, спросите стенли о дракарде
добавьте в чат, пропишите /host и следуйте инструкциям

P.P.S если есть какие-то вопросы - пишите, помогу

P.P.P.S. если вам в команду нужен фронтендер копи-мастер и вы рил не хотите париться - стучите, готов помочь и поработать за %
 
Последнее редактирование:
It's really good, I also use this technique but I don't understand why you put that
Код:
<script>
  document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('button, span, a').forEach(el => {
      if (el.tagName === 'A') el.removeAttribute('href');
      el.classList.add('interact-button');
    });

    document.querySelectorAll('[ad-data-linked]').forEach(el => {
      el.removeAttribute('ad-data-linked');
    });

    console.log('Elements updated');
  });
</script>
<style>
  .interact-button {
    cursor: pointer;
  }
</style>
</body></html>
normally it's automatic with the angel script
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх