Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
1

Защита приложения

30.12.2013, 16:46. Просмотров 1018. Ответов 6
Метки нет (Все метки)

Всем привет!

В приложении делаю запрос на сервер, который шифруется с помощью криптографии. Так вот этот salt хранится у меня в самом приложении в переменной типа String. Сегодня узнал, что можно декомпилировать весь apk файл и ужаснулся. Весь код, как на ладоне, включая тот самый салт.
Есть ли какие варианты защиты в данном случае?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 16:46
Ответы с готовыми решениями:

Защита приложения
Мое приложение использует xml файлы с сервера и хранит их рядом. Можно ли как то стороннему...

Защита приложения на Андроиде
Ребят, доброго времени суток всем! Есть программа. Нужно: защитить, выпустить собранное apk...

Защита приложения от запуска в эмуляторе
Доброго времени суток! Есть ли способ ограничить запуск своего приложения из эмулятора?

Защита приложения от реверс инжиниринга
Добрый день! 1) Как можно защититься от * или хотя бы сильно затруднить реверс инжиниринг*...

Из приложения А проверить наличие установленного на устройстве приложения В
Извиняюсь за нубский вопрос. Подскажите в андроид есть возможность из приложения А проверить...

6
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.12.2013, 17:07 2
Формируйте эту строку в рантайме с использованием извратных алгоритмов, а потом обфусцируйте код вашего приложения.
1
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
30.12.2013, 19:37  [ТС] 3
Цитата Сообщение от angryrobot Посмотреть сообщение
Формируйте эту строку в рантайме с использованием извратных алгоритмов, а потом обфусцируйте код вашего приложения.
Не могли бы вы пример привести?
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
30.12.2013, 23:09 4
Сделайте чтоб строка хранилась в коде как-то так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Random;
public class Test {
    
    public static void main(String[] args)  {
        long data[] = {-9223372034636481721L, -9223372034228157134L, 
                       -9223372033588676975L, -9223372033144688292L, 
                                              -9223372033006071426L};
        StringBuffer tmp = new StringBuffer();
        tmp.append((char) new Random(data[4]).nextInt())
        .append((char) new Random(data[3]).nextInt())
        .append((char) new Random(data[1]).nextInt())
        .append((char) new Random(data[0]).nextInt())
        .append((char) new Random(data[3]).nextInt())
        .append((char) new Random(data[2]).nextInt());
        System.out.println(tmp.toString());
    }
}
Даже без декомпиляции не так то просто понять, что программа напечатает слово "secret" :-)
Конечно это не панацея, но это лучше чем хранить её в открытом виде.
1
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
30.12.2013, 23:28  [ТС] 5
И в правду не совсем понятно, подкажите как она работает?
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
31.12.2013, 11:56 6
Цитата Сообщение от suvorov Посмотреть сообщение
подкажите как она работает?
Код работает за счёт новогоднего волшебства

Параметр передаваемый в конструктор класса Random подобран таким образом, что первый вызов метода nextInt будет всегда возвращать код который соответствует символу s,e,c,r или t (пять чисел в массиве data). Ну и собственно код выполняет генерацию псевдослучайных чисел которые потом приводятся в char и записываются в переменную tmp
0
MegaSinner
98 / 94 / 9
Регистрация: 09.04.2010
Сообщений: 746
01.01.2014, 05:42 7
suvorov, попробуйте дэкомпильнуть тот винегрет, который получается при использовании ProGuard при компиляции...
0
01.01.2014, 05:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2014, 05:42

Ошибка при вызове приложения из другого приложения
Сделано два простеньких приложения и я хочу чтобы одно приложение запускало другое. В приложении,...

Запуск приложения из другого приложения
Привет товарищи! Имеется два приложения. Задача следующая: Из первого приложения запустить...

Запуск приложения из другого приложения
Собственно вопрос уже назван в теме: есть приложение, как по нажатии кнопки запустить другое,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru