引言

随着搭载HarmonyOS的终端设备(手机、车机、IoT设备等)不断普及,涉及鸿蒙系统的电子取证及分析需求也在不断攀升。然而,鸿蒙系统的分布式架构和日志加密机制,让传统取证面临设备连接难、日志解析难、证据固定难等多重挑战。在此背景下,华为面向开发者发布的HDC(HarmonyOS Device Connector)工具、aa工具(Ability助手,简称aa)、bm工具(Bundle Manager包管理工具,简称bm)与hilog工具,成为司法鉴定领域的“破壁利器”,为司法实践提供技术支撑,帮助鉴定人员在纯血鸿蒙设备上实现高效、可靠的电子证据提取与分析。

01

挑战与利器:

鸿蒙取证的困境与工具价值

鸿蒙取证面临的三大挑战:

  1. 设备连接难:分布式设备形态多样,连接协议与传统设备不同。

  2. 日志解析难:系统日志默认加密,传统方法难以直接解读。

  3. 证据固定难:应用数据、运行状态、用户操作痕迹的获取和固定方式需要适配新系统。

鸿蒙取证的四大法宝:

  1. HDC (HarmonyOS Device Connector):连接与交互工具,类似Android ADB,是访问设备的“桥梁”。

  2. aa (Ability Assistant):应用能力助手,用于启动、停止应用组件,查询应用组件相关信息。

  3. bm (Bundle Manager):包管理工具,用于查询、安装、卸载应用,获取应用详细信息。

  4. hilog:强大的日志分析工具,用于采集、解析、过滤系统及应用日志。

这四大工具构成了鸿蒙设备取证的基础能力集,HDC工具打通连接通道,aa/bm工具提供应用层信息获取能力,hilog工具解密行为痕迹。它们共同服务于取证流程中“证据提取与初步分析”这一关键阶段,为后续的证件固定、分析、报告奠定基础。

02

核心桥梁:HDC工具

HDC(HarmonyOS Device Connector)是为开发人员提供的用于调试的命令行工具,是使用aa、bm、hilog的前提,通过该工具可以在Windows/Linux/MacOS系统上与设备进行交互,类似Android中的ADB工具。

HDC分为三部分:

  1. client:运行在电脑端的进程,开发者在执行hdc命令时启动该进程,命令结束后进程退出。

  2. server:运行在电脑端的后台服务进程,用来管理client进程和设备端的daemon进程之间的数据交互,以及设备发现等。

  3. daemon:作为守护进程运行在设备端,用来响应电脑端server发来的请求。

三者直接的关系如下图所示:

HDC的安装(以Win11为例)

方法一:

下载并安装集成开发环境DevEco Studio,在DevEco Studio/sdk/default/openharmony/toolchains目录下使用hdc工具。

为了方便在命令行中直接执行hdc程序,可以将hdc程序文件路径添加到操作系统命令搜索路径的环境变量中。

打开CMD/PowerShell,执行命令:hdc --version ,若显示版本号(如,Ver: 3.1.0e),则表明安装成功。

方法二:

因HDC是包含在SDK中的,所以可以通过直接下载SDK获取该工具。

下载地址:http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist

详细安装过程可参考:OpenHarmony 开源鸿蒙北向开发——hdc工具安装 https://www.cnblogs.com/nanwanqiu/p/18780343

在使用HDC前,需在设备上开启USB调试功能,并通过USB数据线连接设备和PC(或者使用IP地址进行无线连接)。

HDC基本命令

HDC基础命令列表如下:

示例:

1.设备连接

(1)查看设备列表

用法:

hdc list targets # 显示基础设备列表

hdc list targets -v # 显示详细设备信息

(2)连接指定设备

hdc -t [设备标识] shell

以模拟器为例进行HDC连接测试:

若是USB连接真机,将“-t”后面的参数换成实际的手机序列号即可。

(3)网络连接场景

PC、手机设备处于同一网络下,在手机设备开发者设置界面打开无线调试开关,记录设备界面显示的监听端口号,PC通过网络连接设备。

用法:

hdc tconn IP:PORT

IP地址可在设备侧的设置里面查看到,端口号为上一步设备无线调试界面显示的端口号。

2.应用安装/卸载

hdc install <应用包路径> # 安装应用

hdc uninstall <包名> # 卸载应用

注:hdc命令无法安装 Release 签名的 .hap 包。鸿蒙对应用的安装有严格限制,hdc默认只能安装 Debug 签名 的包。Release版本的需要在鸿蒙设备自带的原生应用商店进行下载安装。

3.日志采集

用法:

实时查看日志:hdc shell hilog

导出日志到本地:hdc shell hilog > log.txt

应用场景:

可在对目标APP分析过程中对日志进行捕获,用于辅助分析。

4.文件传输

用法:

hdc file send <本地路径> <设备路径> # 上传文件

hdc file recv <设备路径> <本地路径> # 下载文件

示例:

使用HDC连接检材手机,执行 hdc file recv /data/log hilog_evidence 命令,可将log目录下的日志导出到本地进行分析。

03

洞察应用:aa工具

Ability assistant(Ability助手,简称为aa),是用于启动应用和启动测试用例的工具,为开发者提供基本的应用调试和测试能力,例如启动应用组件、强制停止进程、打印应用组件相关信息等,是分析应用行为、定位前台应用的利器。需在 hdc shell 环境下使用。

aa工具及基本命令

应用场景示例:定位前台应用

dump命令,用于打印应用组件的相关信息。用法:

aa dump

# 打印所有mission内的应用组件信息

aa dump -a

# 打印所有任务链

aa dump -l

# 打印指定应用组件详细信息

aa dump -i 12

# 打印应用进程信息

aa dump -a -r

可执行 hdc shell aa dump -r 命令,列出当前系统中运行的应用进程信息,其中包括前台和后台的进程。随后根据state判断可知前台应用的包名和PID,这对于锁定正在前台运行的涉案应用至关重要。

PS C:\\Users\\Safe> hdc shell aa dump -r

AppRunningRecords:

AppRunningRecord ID #0

process name [com.huawei.hmos.location]

pid #1787 uid #20005

state #READY

...

...

AppRunningRecord ID #8

process name [com.huawei.hmos.files]

pid #16984 uid #20020015

state #BACKGROUND

uiextension provider #0

pid #17029

...

...

AppRunningRecord ID #13

process name [com.example.app]

pid #32280 uid #20020044

state #FOREGROUND

...

...

04

透视应用:bm工具

Bundle Manager(包管理工具,简称bm)是实现应用安装、卸载、更新、查询等功能的工具,用于管理应用包(Bundle),为开发者提供基本的应用安装包的调试能力。需在 hdc shell 环境下使用。

bm工具命令列表

应用场景示例:查询应用相关信息

dump命令,用于查询应用的相关信息。用法:

bm dump [-h] [-a] [-n bundleName] [-s shortcutInfo] [-d deviceId]

# 显示所有已安装的Bundle名称

bm dump -a

# 查询指定应用的详细信息

bm dump -n com.ohos.app

# 查询该应用的快捷方式信息

bm dump -s -n com.ohos.app

# 查询跨设备应用信息

bm dump -n com.ohos.app -d xxxxx

bm dump -a :显示所有已安装的Bundle名称。

bm dump -n <包名>:获取指定目标应用的详尽的元数据信息。包括:

  • 包名(bundleName)

  • 版本信息 (versionCode, versionName)

  • 安装路径 (codePath)

  • 权限申请和使用情况 (reqPermissions, reqPermissionStates)

  • 入口Ability (mainAbility)

  • 模块信息 (moduleInfos)

  • 签名信息 (appProvisionType: debug/release)

  • 安装/更新时间戳 (installTime, updateTime)

这些信息对于分析应用身份、应用行为、关联时间线等证据具有重要价值。

$ bm dump -n com.example.app

部分输出结果如下:

com.example.app:

{

"appId": "com.example.app_",

"applicationInfo": {

"allowAppRunWhenDeviceFirstLocked": false,

"apiTargetVersion": 50000012,

"appProvisionType": "debug",

"bundleName": "com.example.app",

"codePath": "/data/app/el1/bundle/public/com.example.app",

"compileSdkType": "HarmonyOS",

"compileSdkVersion": "5.0.0.71",

"cpuAbi": "x86_64",

"dataBaseDir": "/data/app/el2/database/com.example.app",

"dataDir": "",

"debug": true,

"deviceId": "PHONE-001",

"installSource": "unknown",

"isFreeInstallApp": false,

"minCompatibleVersionCode": 1000001,

"moduleInfos": [

{

"moduleName": "entry",

"moduleSourceDir": "",

"preloads": []

}

],

"signatureKey": "",

"uid": 20020044,

"versionCode": 1000001,

"versionName": "1.0.0.1"

},

"entryModuleName": "entry",

"gid": 20020044,

"hapModuleInfos": [

{

"abilityInfos": [

{

"applicationName": "com.example.app",

"hapPath": "/data/app/el1/bundle/public/com.example.app/entry.hap",

}

],

"hapPath": "/data/app/el1/bundle/public/com.example.app/entry.hap",

"mainAbility": "EntryAbility",

],

"installTime": 1748100907262,

"reqPermissionDetails": [

{

"moduleName": "entry",

"name": "ohos.permission.INTERNET",

"reason": "",

}

],

"reqPermissionStates": [

0

],

"reqPermissions": [

"ohos.permission.INTERNET"

],

"targetVersion": 50000012,

"uid": 20020044,

"updateTime": 1748100907262,

}

05

痕迹分析:hilog工具

HiLog日志系统,提供给系统框架、服务、以及应用,用于打印日志,记录用户操作、系统运行状态等。开发者可以通过hilog命令行查询相关日志信息。需在 hdc shell 环境下使用或在DevEco Studio中查看。

hilog基本命令

hilog工具除了可以通过命令行使用外,还可以在集成开发环境DevEco Studio中使用。如下图:

应用场景示例:通过日志分析用户敏感操作

例如,修改系统语言

应用下载、安装、卸载

数据备份

结语

面对纯血鸿蒙系统带来的取证新挑战,HDC、aa、bm、hilog这套开发者工具链,已成为电子取证的强大“瑞士军刀”。通过合理利用这些工具,结合规范化的取证流程,能够高效锁定、固定并分析电子证据,为司法实践提供坚实的技术支撑。未来,随着HarmonyOS及相应工具的迭代更新,更多创新方法也将不断涌现,持续助力数字取证行业的发展。

参考文章:

HDC官方简介 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hdc

hdc工具安装 https://www.cnblogs.com/nanwanqiu/p/18780343

bm工具简介 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/bm-tool

hilog工具简介https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hilog

HUAWEI DevEco Studio下载地址https://developer.huawei.com/consumer/cn/deveco-studio/

从Android到HarmonyOS NEXT,技术变革对电子数据取证的影响https://www.secrss.com/articles/71056

声明:本文来自奇安信洞鉴,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。