HarmonyOS鸿蒙Next中现在有检测root/越狱、模拟器、虚拟机等环境的方法吗

HarmonyOS鸿蒙Next中现在有检测root/越狱、模拟器、虚拟机等环境的方法吗 现在有检测root/越狱、模拟器、虚拟机等环境的方法吗

3 回复

可以参考系统完整性检测,获取检测结果后分析JWS的Payload字段:

  • basicIntegrity为false时,对应的detail字段详情如下:
    • jailbreak:设备被越狱。
    • emulator:模拟器。
    • attack:设备被攻击。

参考文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/devicesecurity-sysintegrity-check-V5

本地模拟器暂不支持Device Security Kit

是必要。另外,区分真机和模拟器还可以使用@ohos.deviceInfo模块的productModel属性来区分。

deviceinfo.productModel函数获取设备认证类型,模拟器的productModel = ‘emulator’

参考: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-device-info-V5

Device Security服务器返回结果是jws格式数据,本地解析也行。就是不太好验签jws,目前没有现成的库支持验签,所以还是建议服务端去解析。

这样解析是可以的。

更多关于HarmonyOS鸿蒙Next中现在有检测root/越狱、模拟器、虚拟机等环境的方法吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,系统提供了多种方法来检测设备是否处于root/越狱、模拟器或虚拟机等环境。具体方法如下:

检测root/越狱环境:

  • 鸿蒙Next系统可以通过检查设备的某些关键文件或目录是否存在,或者通过调用系统API来检测设备是否被root或越狱。例如,检查/system/bin/su/system/xbin/su文件是否存在,这些文件通常存在于已root的设备上。

检测模拟器环境:

  • 鸿蒙Next可以通过检查设备的硬件特征(如CPU信息、内存大小等)来识别是否为模拟器。模拟器通常与真实设备在硬件特征上有显著差异,系统可以通过这些差异来判断设备是否为模拟器。

检测虚拟机环境:

  • 鸿蒙Next可以通过检测虚拟机特有的硬件特征或系统属性来识别虚拟机环境。例如,检查虚拟机特有的硬件ID、驱动程序或系统属性,这些通常与真实设备不同。

鸿蒙Next系统还提供了相关的API和工具,开发者可以通过这些API和工具在应用层面进行环境检测,以确保应用运行在安全的设备环境中。

在HarmonyOS鸿蒙Next中,确实提供了检测root/越狱、模拟器、虚拟机等环境的方法。开发者可以通过调用DeviceSecurityManager类中的相关API来检查设备的安全状态。例如,使用isDeviceRooted()方法可以检测设备是否被root,而isEmulator()方法则用于判断当前运行环境是否为模拟器。此外,还可以通过getDeviceType()获取设备类型,进一步识别虚拟机环境。这些功能有助于开发者增强应用的安全性,防止在非安全环境下运行敏感操作。

回到顶部