Mod версия
Мод версия реализует простую защиту, основанную на запросах к серверу. Впрочем, человек с головой на плечах с лёгкостью ее обойдёт)
Вся магия происходит в классе smali/com/pk/taxoid/libs/d/a/a.smali:
В оригинальный класс добавлено 2 переменных:
Переменная count - это количество обращений к серверу мододела (об этом ниже)
Переменная timestamp это дата обращения. Timestamp это количество миллисекунд прошедшее с 1 января 1970 года. Можешь посмотреть википедию, если хочется больше объяснений.
Внутри существующего метода run() вставлен вызов нового метода setNewTimer()
Если результат выполнения метода doGet()
меньше 100
, то переменной e
присваивается значение 30
Глянем метод doGet()
public static long doGet() throws Exception { if (count >= 600) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(((HttpURLConnection) new URL("http://taxoid.freeoda.com/?customer=96").openConnection()).getInputStream())); StringBuffer stringBuffer = new StringBuffer(); while (true) { String readLine = bufferedReader.readLine(); String str = readLine; if (readLine != null) { stringBuffer.append(str); } else { bufferedReader.close(); String stringBuffer2 = stringBuffer.toString(); count = 0; timeStamp = Long.parseLong(stringBuffer2); return Long.parseLong(stringBuffer2); } } } else { count++; return timeStamp; } }
Вот примерная схема работы этого кода:
- если count равно 600 или больше
- Подключаемся к серверу
http://taxoid.freeoda.com/?customer=96
- Смотрим, какую строку он выдаёт
- Если строка существует, то сохраняем ее значение в переменную
- Если строка не существует, то создаём ее самостоятельно, ставим count = 0, и присваиваем значение строки в переменную timestamp
- Иначе, прибавляем единицу к count и возвращаем переменную timestamp
Грубо говоря, timestamp устанавливается на сервере, и ты можешь работать ровно до того момента, как он не пересечёт определенную отметку, устанавливаемую мододелом.
Сервер, кстати, до сих пор работает:
Но сама эта проверка ни что иное, как собачий пук, потому что легко убирается всего лишь удалением условия с doGet() в методе setNewTimer()
Прочие изменения
smali/com/pk/taxoid/libs/d/d.smali:
Уменьшен триггер с 0x331
(817) до 0x1
(1)
smali/com/pk/taxoid/libs/i.smali:
Переменная k теперь равна 2000 вместо 0
Переменная n равна 2000 вместо 1000
smali/com/pk/taxoid/widget/FastPanel.smali:
Верхняя панель ввода радиуса автозахвата. Увеличен лимит до 20 000. Важно понимать, что лимит можно сделать хоть 100 000, но работать это будет только в том случае, если это поддерживает сервис.
Вот и все фишки данного мода. Такие дела.