Дисклеймер: данная статья написана исключительно в ознакомительных целях, ни к чему не призывает и ничего не пропагандирует, а автор не несет ответственности за работу скриптов и любое их использование. Цель данной статьи — продемонстрировать, почему зануленный софт часто не работает и почему не стоит доверять в принципе скачанным скриптам.
Не так давно ко мне обратился человек с просьбой помочь запустить скрипт, который продается на каньоне — RockyTap. Откуда он был скачан в данном случае — я не знаю, но не суть. В общем, сам по себе скрипт — обычная тапалка в телеграм.
Скрипт Скрипт telegram тапалка RockyTap
Идет вместе с документацией, что ускоряет и облегчает установку. Оригинальный код я не видел, но у меня сложилось впечатление, что в архиве он уже немного изменен. Не в смысле «протроянен» (об этом позже), а просто кто-то его уже пробовал модифицировать. Такое мнение у меня сложилось после того, как я увидел файл index.php в папке stat:
/*
«totalCoins» => $totalCoins,
«totalTaps» => $totalTaps,
// «totalPlayers» => $totalPlayers,
«totalPlayers» => 80000,
«daily» => $daily,
«online» => $online,
*/
«totalCoins» => rand(4380000, 23000000),
«totalTaps» => $totalTaps = rand(5380000, 83000000),
«totalPlayers» => ,
«daily» => $daily = rand(15000, 35000),
«online» => $online = rand(10000, 15000),
//…
Этот скрипт выводит статистику — сколько игроков всего зарегистрировано, сколько играет сейчас, и т.д. Часть кода, которая более-менее отражает реальные данные, закомментирована (вот почему не стоит верить статистике в приложениях, ха-ха). Мое внимание привлекла строка
на которую, собственно, ругается даже IDE. Из-за отсутствия значения скрипт не работает. Решается просто, нужно лишь вписать какое-то число:
Например, так.
Смотрим далее. Мое внимание привлек какой-то очень подозрительный скрипт с комментариями на арабском. Стиль написания кода отличается от остальных файлов. Внутри — преобразование дат, однако ничего плохого, вроде бы, он не делает. Хотя сильно я не вникал, не знаю. Однако что-то мне подсказывает, что этот файл не был изначально в приложении, а был добавлен третьей стороной. В зануленные скрипты часто внедряют какие-то вредоносы, так что, может, какая-то задумка и была. Не знаю.
На всякий случай, файл переименовываем и меняем расширение на что-то другое — например, pdat.
Немного удивило отсутствие dev-файлов для фронтенда — в архиве поставляется только минифицированная версия, что сильно затруднит доработку визуала и добавление новых функций. Скрипт стоит около $200 — на мой взгляд, там должен быть исходник фронтенда тоже. К тому же, там установлена гугл аналитика, так что пришлось поменять идентификаторы, чтобы статистика никуда не улетала.
После запуска выяснилось, что в базе некоторые значения не могут быть null, хотя в скрипте БД ничего такого я не нашел. Не ломая долго голову, поменял строки в bot/index.php с
на
И еще потом оказалось, что, по какой-то причине, сбоит функция проверки подлинности запроса. Она нужна, чтобы подтвердить, что запрос пришел именно от телеграма, а не откуда-то еще. Саму функцию приводить тут не буду, ее легко найти на StackOverflow.
После этого все заработало.
В целом, скрипт поднимается без особых проблем, просто следуя документации. Нужно установить веб-хук на самого бота, иначе не будет работать.
Источник mipped.com/f/threads/kak-pochinit-rockytap-i-sdelat-svoju-tapalku-v-telegram.290725/