Достаточно ли запутывания JAR для предотвращения понимания кода JAVA обычными конечными пользователями, а не опытными хакерами? [Дубликат]

Вы можете преобразовать jsonObject в data, используя JSONSerialization, затем data - string и, наконец, string - data

if let data = try? JSONSerialization.data(withJSONObject: jsonObject, options: .prettyPrinted),
   let jsonString = String(data: data, encoding: .utf8) {
       request.httpBody = jsonString.data(using: .utf8)
}
-1
задан Normal design 19 January 2019 в 16:50
поделиться

2 ответа

Я думаю, что ответ - да, но это во многом зависит от того, как вы определяете «среднего» человека. Я бы порекомендовал просто смоделировать то, что, по вашему мнению, обычный человек попытается прочитать ваш код. Например, вы могли бы искать в Интернете декомпиляторы и пробежаться по всем популярным декомпиляторам и посмотреть, что из этого выйдет.

0
ответ дан Antimony 19 January 2019 в 16:50
поделиться

Запутывание изменит ваши имена идентификаторов на что-то бессмысленное, поэтому будет трудно понять логику декомпилированного кода, но и это невозможно.

Запутывание не коснется значений предварительно инициализированных констант, таких как Strings и integer. Предполагая, что ваша конфиденциальная информация содержится там и имеет некоторый шаблон, такой как заголовок или длина 2048 битов, ее можно легко идентифицировать.

0
ответ дан Siddhesh Rane 19 January 2019 в 16:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: