Comments 5
Никакой обфускации и шифрования.
Не думаю, что это важно ввиду того, что на большинстве смартов нет ничего, что могло бы противодействовать этому ПО. Если злоумышленник узнает данные для доступа к ЛК каких-нибудь платежных систем, и, имея доступ к смс подтверждениям на смартфоне, он сможет управлять счетами итд. А IP адреса, на которые устанавливаются соединения можно и сетевыми анализаторами глянуть, хотя трафик все же лучше шифровать чем-нибудь асимметричным.
0
if (str1.equals(«13») == true)Гм…
…
Бот написан более грамотно
Мне кажется, тут код уровня «Learn Java in 21 day» в лучшем случае.
Тем более, что вроде как ничего сложного код и не делает.
P.S. Почему вы тег <source> не используете?
0
Спасибо!
+2
Это не оригинальный код.
> Декомпилируем приложение в читаемый исходный или байт-код;
> Декомпилируем приложение в читаемый исходный или байт-код;
+4
Само собой, не оригинальный.
Но == true там могло появиться только в случае, если его туда зачем-то вкорячил автор зловреда, а декомпилятор не выкинул.
Древний JAD бесполезные сравнения выкидывает, а JD — оставляет.
Как видите, избыточное сравнение никуда из тела метода junior() не делось.
Но == true там могло появиться только в случае, если его туда зачем-то вкорячил автор зловреда, а декомпилятор не выкинул.
Древний JAD бесполезные сравнения выкидывает, а JD — оставляет.
Что бы не быть голословным
Исходный код:
Байт-код:
public class Test {
public static void senor() {
if ("FOO".equals("BAR")) {
System.out.println("Señor");
}
}
public static void junior() {
if ("FOO".equals("BAR") == true) {
System.out.println("Junior");
}
}
}
X:\>javac -version
javac 1.7.0_45
Байт-код:
public static void senor();
Code:
0: ldc #2 // String FOO
2: ldc #3 // String BAR
4: invokevirtual #4 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
7: ifeq 18
10: getstatic #5 // Field java/lang/System.out:Ljava/io/PrintStream;
13: ldc #6 // String Señor
15: invokevirtual #7 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
18: return
public static void junior();
Code:
0: ldc #2 // String FOO
2: ldc #3 // String BAR
4: invokevirtual #4 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
7: iconst_1
8: if_icmpne 19
11: getstatic #5 // Field java/lang/System.out:Ljava/io/PrintStream;
14: ldc #8 // String Junior
16: invokevirtual #7 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
19: return
Как видите, избыточное сравнение никуда из тела метода junior() не делось.
+1
Sign up to leave a comment.
Анализ sms-бота для Android. Часть II