- Регистрация
- 5 Ноя 2017
- Сообщения
- 103
- Реакции
- 197
- Тема Автор Вы автор данного материала? |
- #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.
После этого все заработало.
 
	В целом, скрипт поднимается без особых проблем, просто следуя документации. Нужно установить веб-хук на самого бота, иначе не будет работать.
 
 
 