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, но работать это будет только в том случае, если это поддерживает сервис.
Вот и все фишки данного мода. Такие дела.