场景描述
工程源码的混淆可以降低工程被破解攻击的风险,但会导致无法直接通过Release应用的堆栈信息定位到源码的具体文件和行位置,不易于开发者快速定位解决问题。本工具使用指南将以开发者视角,向开发者讲解,如何分别使用IDE自带反混淆工具AnalyzeStaceTrace和hstack命令行对Release应用中C++堆栈、ArkTS堆栈以及ArkTS堆栈中混淆的方法名进行还原,方便开发者进行错误信息定位(注:仅支持API12及以上的工程)。
文件准备工作
-
已混淆的工程和报错日志,这里以混淆工程为例,混淆规则配置如下:
# 开启属性名称混淆 -enable-property-obfuscation # 开启字面量名称混淆 -enable-string-property-obfuscation # 开启文件/文件夹名称混淆 -enable-filename-obfuscation # 开启顶层作用域名称混淆(作用于类名、方法名) -enable-toplevel-obfuscation # 开启export导出对象混淆 -enable-export-obfuscation
复制两次运行工程分别点击工程内的Native按钮和ArkTS按钮获取混淆后的报错日志。
-
获取原工程混淆后build产物目录下的sourceMaps.map文件,nameC