Я пытался упаковать apk с зашифрованными активами (изображение, текст и т. Д.).
Когда он запущен на Android, активы будут дешифрованы и затем отображены (конечно, я жестко закодировал ключ дешифрования в исходном коде).
я думаю: до тех пор, как исходный код защищен, то ключ дешифрования также будет защищена, что означает активы наконец защищены?Является ли ProGuard или JNI защитой активов, хранящихся в Android-файле Android?
Вопросы:
1. Если ProGuard используется для запутывания APK, ключ дешифрования безопасного?
2. Если я закодирую ключ дешифрования в JNI (C++) и пусть JNI делает дешифрование, является ли ключ дешифрования безопаснее?
Я также сделал 2 демонстрационных приложения Android с зашифрованными активами, которые вы можете попробовать взломать.
Первая использует обфусцированный Java для расшифровки активов с ключом AES (жестко закодированным в Java):
https://drive.google.com/file/d/0B9O3ChlSQJL1dVZUZmFtWlRyMXc/edit?usp=sharing
Второй использует JNI для расшифровки активов с ключом AES (жестко в JNI):
https://drive.google.com/file/d/0B9O3ChlSQJL1UWU0VlprcXdVUjg/edit?usp=sharing
Если вы можете получить первоначальные активы в первом демо, пожалуйста, дайте мне знать.
Если вы можете получить исходные активы во втором демо, пожалуйста, дайте мне знать.
Любые предложения по лучшим решениям для защиты активов оцениваются!
Немного не по теме, но вы понимаете, что 4shared требует от пользователей иметь учетную запись (или создавать ее) для загрузки файлов? Просто указывая на это, потому что это создает дополнительное препятствие, которое может привести к тому, что люди теряют интерес к тому, чтобы помочь вам здесь. –
Спасибо за совет! Теперь они связаны с Google Диском. – user2990181
Данные будут тривиальны для восстановления, запустив приложение на модифицированной платформе, где система требует отображения/воспроизведения информации, которые предназначены для захвата и сохранения информации. –