Cкажите, пожалуйста, как можно обратиться, получить доступ и рассчитать хеш бинарного файла одной из сборок, хранящейся в папке Managed, для выполняющегося apk-файла моего Andoid-приложения?
Мне это необходимо для осуществления процедуры защиты разрабатываемого мной Android-приложения путём проверки полученного хеша для текущего состояния сборки Assembly-CSharp.dll и эталонного значения хеша, соответствующего оригинальному значению контрольной суммы этого файла.
Несовпадение хэша для текущего и эталонного значения сборки файла Assembly-CSharp.dll будет говорить о том, что произошла его злоумышленная модификация.
Как мне программно реализовать последовательность действий для осуществления этой процедуры?
Получение хеша бинарного файла сборки выполняемого apk-файла
Re: Получение хеша бинарного файла сборки выполняемого apk-ф
Файл .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 можно сделать и другие проверки ...
Время сборки приложения можно узнать так:
[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 можно сделать и другие проверки ...