我的 Android 应用程序最近被分配了新的安全修复程序: 这次漏洞评估和渗透测试 (VAPT) 团队使用 Magisk 和 Magisk hide 绕过 Android 根检测实现。
VAPT 团队给出的描述:根据 包名称和 su 二进制文件的可用性检查根检测。
VAPT 团队在 Android 设备上绕过 Root 检测所遵循的步骤:
App上Root检测实现:
加密的数据库足够安全,可以防止应用程序数据泄露?
缓解措施可用于检测 Android 应用程序上的 Magisk 和 Magisk hide?
集成新库进行根检测总是一个好主意吗?
private void searchForMagisk() {
PackageManager pm = getPackageManager();
@SuppressLint("QueryPermissionsNeeded") List<PackageInfo> installedPackages = pm.getInstalledPackages(0);
for (int i = 0; i < installedPackages.size(); i++) {
PackageInfo info = installedPackages.get(i);
ApplicationInfo appInfo = info.applicationInfo;
String nativeLibraryDir = appInfo.nativeLibraryDir;
String packageName = appInfo.packageName;
Log.i("Magisk Detection", "Checking App: " + nativeLibraryDir);
File f = new File(nativeLibraryDir + "/libstub.so");
if (f.exists()) {
ShowMessageBox("Magisk Detection", "Magisk was Detected!");
}
}
}