Деобфускация строк JavaAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Деобфускация строк Java

Сообщение Anonymous »


Я новичок в Java и надеялся, что кто-нибудь поможет мне объяснить проблему. Я слежу за этой публикацией в блоге, в которой рассказывается о реверс-инжиниринге вредоносного APK-файла Android.

В декомпилированном коде Java есть метод запутывания строк, который встречается в коде тысячи раз:

частная статическая строка $(int i, int i2, int i3) { char[] cArr = новый char[i2 - i]; for (int i4 = 0; i4 < i2 - i; i4++) { cArr[i4] = (char) ($[i + i4] ^ i3); } вернуть новую строку (cArr); } Также в коде есть вызовы, использующие этот метод, например $(556, 664, 4277)

У меня возникли проблемы с деобфускацией строки. Я знаю, что могу определить локальную переменную и использовать ее для распечатки декодированной строки, но я не уверен, как это будет выглядеть в Java. Может ли кто-нибудь привести пример того, как это будет выглядеть?

Я уверен, что мои попытки неверны. Теперь у меня есть мотивация изучить Java, но мне бы очень хотелось понять, что я делаю не так:
public static String $(int i, int i2, int i3) { char[] cArr = новый char[i2 - i]; for (int i4 = 0; i4 < i2 - i; i4++) { cArr[i4] = (char) ($[i + i4] ^ i3); } вернуть новую строку (cArr); } вар obfuscatedString = $(556, 664, 4277); System.out.println(obfuscatedString);
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»