Получение хеша бинарного файла сборки выполняемого apk-файла

Ответить
Inessa
Сообщения: 1
Зарегистрирован: 29 дек 2015, 14:59

Получение хеша бинарного файла сборки выполняемого apk-файла

Сообщение Inessa » 29 дек 2015, 15:01

Cкажите, пожалуйста, как можно обратиться, получить доступ и рассчитать хеш бинарного файла одной из сборок, хранящейся в папке Managed, для выполняющегося apk-файла моего Andoid-приложения?

Мне это необходимо для осуществления процедуры защиты разрабатываемого мной Android-приложения путём проверки полученного хеша для текущего состояния сборки Assembly-CSharp.dll и эталонного значения хеша, соответствующего оригинальному значению контрольной суммы этого файла.

Несовпадение хэша для текущего и эталонного значения сборки файла Assembly-CSharp.dll будет говорить о том, что произошла его злоумышленная модификация.

Как мне программно реализовать последовательность действий для осуществления этой процедуры?

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Получение хеша бинарного файла сборки выполняемого apk-ф

Сообщение math64 » 30 дек 2015, 09:17

Файл .apk после установки на устройство находится в каталоге /data/app куда доступ без рута закрыт
Время сборки приложения можно узнать так:
[syntax=java]
public long getBuildTime() {
try {
PackageManager pm = getPackageManager();
ApplicationInfo ai = pm.getApplicationInfo(getPackageName(), 0);
ZipFile zf = new ZipFile(ai.sourceDir);
ZipEntry ze = zf.getEntry("classes.dex");
return ze.getTime();
} catch (Exception ignored) {
}
return 0L;
}
[/syntax]
c ZipFile можно сделать и другие проверки ...

Ответить