valkababayka
Premium Lite
- Регистрация
- 5 Ноя 2017
- Сообщения
- 103
- Реакции
- 193
- Тема Автор Вы автор данного материала? |
- #1
Дисклеймер: данная статья написана исключительно в ознакомительных целях, ни к чему не призывает и ничего не пропагандирует, а автор не несет ответственности за работу скриптов и любое их использование. Цель данной статьи - продемонстрировать, почему зануленный софт часто не работает и почему не стоит доверять в принципе скачанным скриптам.
Не так давно ко мне обратился человек с просьбой помочь запустить скрипт, который продается на каньоне - RockyTap. Откуда он был скачан в данном случае - я не знаю, но не суть. В общем, сам по себе скрипт - обычная тапалка в телеграм.
Идет вместе с документацией, что ускоряет и облегчает установку. Оригинальный код я не видел, но у меня сложилось впечатление, что в архиве он уже немного изменен. Не в смысле "протроянен" (об этом позже), а просто кто-то его уже пробовал модифицировать. Такое мнение у меня сложилось после того, как я увидел файл index.php в папке stat:
Этот скрипт выводит статистику - сколько игроков всего зарегистрировано, сколько играет сейчас, и т.д. Часть кода, которая более-менее отражает реальные данные, закомментирована (вот почему не стоит верить статистике в приложениях, ха-ха). Мое внимание привлекла строка
на которую, собственно, ругается даже IDE. Из-за отсутствия значения скрипт не работает. Решается просто, нужно лишь вписать какое-то число:
Например, так.
Смотрим далее. Мое внимание привлек какой-то очень подозрительный скрипт с комментариями на арабском. Стиль написания кода отличается от остальных файлов. Внутри - преобразование дат, однако ничего плохого, вроде бы, он не делает. Хотя сильно я не вникал, не знаю. Однако что-то мне подсказывает, что этот файл не был изначально в приложении, а был добавлен третьей стороной. В зануленные скрипты часто внедряют какие-то вредоносы, так что, может, какая-то задумка и была. Не знаю.
На всякий случай, файл переименовываем и меняем расширение на что-то другое - например, pdat.
Немного удивило отсутствие dev-файлов для фронтенда - в архиве поставляется только минифицированная версия, что сильно затруднит доработку визуала и добавление новых функций. Скрипт стоит около $200 - на мой взгляд, там должен быть исходник фронтенда тоже. К тому же, там установлена гугл аналитика, так что пришлось поменять идентификаторы, чтобы статистика никуда не улетала.
После запуска выяснилось, что в базе некоторые значения не могут быть null, хотя в скрипте БД ничего такого я не нашел. Не ломая долго голову, поменял строки в bot/index.php с
на
И еще потом оказалось, что, по какой-то причине, сбоит функция проверки подлинности запроса. Она нужна, чтобы подтвердить, что запрос пришел именно от телеграма, а не откуда-то еще. Саму функцию приводить тут не буду, ее легко найти на StackOverflow.
После этого все заработало.
В целом, скрипт поднимается без особых проблем, просто следуя документации. Нужно установить веб-хук на самого бота, иначе не будет работать.
Не так давно ко мне обратился человек с просьбой помочь запустить скрипт, который продается на каньоне - 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),
//...
Этот скрипт выводит статистику - сколько игроков всего зарегистрировано, сколько играет сейчас, и т.д. Часть кода, которая более-менее отражает реальные данные, закомментирована (вот почему не стоит верить статистике в приложениях, ха-ха). Мое внимание привлекла строка
Код:
"totalPlayers" => ,
на которую, собственно, ругается даже IDE. Из-за отсутствия значения скрипт не работает. Решается просто, нужно лишь вписать какое-то число:
Код:
"totalPlayers" => 2000,
Например, так.
Смотрим далее. Мое внимание привлек какой-то очень подозрительный скрипт с комментариями на арабском. Стиль написания кода отличается от остальных файлов. Внутри - преобразование дат, однако ничего плохого, вроде бы, он не делает. Хотя сильно я не вникал, не знаю. Однако что-то мне подсказывает, что этот файл не был изначально в приложении, а был добавлен третьей стороной. В зануленные скрипты часто внедряют какие-то вредоносы, так что, может, какая-то задумка и была. Не знаю.
На всякий случай, файл переименовываем и меняем расширение на что-то другое - например, pdat.
Немного удивило отсутствие dev-файлов для фронтенда - в архиве поставляется только минифицированная версия, что сильно затруднит доработку визуала и добавление новых функций. Скрипт стоит около $200 - на мой взгляд, там должен быть исходник фронтенда тоже. К тому же, там установлена гугл аналитика, так что пришлось поменять идентификаторы, чтобы статистика никуда не улетала.
После запуска выяснилось, что в базе некоторые значения не могут быть null, хотя в скрипте БД ничего такого я не нашел. Не ломая долго голову, поменял строки в bot/index.php с
Код:
@$last_name = $update->message->from->last_name?:null;
на
Код:
@$last_name = $update->message->from->last_name ?: '';
И еще потом оказалось, что, по какой-то причине, сбоит функция проверки подлинности запроса. Она нужна, чтобы подтвердить, что запрос пришел именно от телеграма, а не откуда-то еще. Саму функцию приводить тут не буду, ее легко найти на StackOverflow.
После этого все заработало.
В целом, скрипт поднимается без особых проблем, просто следуя документации. Нужно установить веб-хук на самого бота, иначе не будет работать.