Как получить доступ к файлу библиотеки JAR во время выполнения в Android? - PullRequest
2 голосов
/ 02 декабря 2011

Я создал криптографический модуль и экспортировал его как файл jar.

Для загрузки библиотеки требуется проверка на целостность при загрузке, чтобы пройти проверку FIPS.

Первая идея заключается всделать это, чтобы прочитать файл JAR во время выполнения, создать хэш и сравнить его с сохраненной где-то подписью.

Распакуйте приложение apk, которое использует файл JAR, я не нахожу JAR.Итак, я думаю, что классы в jar сохраняются в classes.dex, я прав?Можно ли восстановить банку из classes.dex?

Ответы [ 3 ]

1 голос
/ 18 декабря 2012

Перед загрузкой модуля необходимо выполнить «Одобренную технику целостности». Единственными утвержденными NIST методами проверки целостности являются: - подпись DSA / RSA / ECDSA - C / MAC или HMAC

См. «6.4 Одобренные методы обеспечения целостности» в FIPS140-2 Документ руководства по внедрению .

Недостаточно простого хэша MD5 / SHA-1 / SHA-2.

0 голосов
/ 01 марта 2012

Формат dex не является общедоступным, но существует инструмент для извлечения его в банку, он называется dex2jar и его можно найти здесь http://code.google.com/p/dex2jar/

Не думаю, что это решит вашу проблему, просто подумал, что вы хотите знать.

0 голосов
/ 02 декабря 2011

Можно ли восстановить банку из classes.dex?

Нет.

Более того, это не принесет вам пользы.Кто бы ни изменил ваш JAR-файл, он тоже просто изменит хеш.

...