dexguard模糊处理中的非ASCII字符

时间:2014-04-02 09:14:13

标签: android dexguard

我正在尝试使用retrace附带的dexguard工具来调试混淆代码中的异常。模糊标识符使用非ASCII字符,至少在生成的映射文件中看起来像是这样:例如:

boolean areEqual(char[],char[]) -> ËŠ

当我尝试从设备导出堆栈跟踪以将其提供给retrace时,这会导致我出现问题。我的混淆设置有问题,或者dexguard使用非ASCII字符是否正常?如果是这样,我应该如何从设备导出堆栈跟踪以保留它们?

编辑:我后来发现了adb logcat -B形式的解决方法,它输出二进制日志。这会导致日志文件有点难以阅读但在堆栈跟踪中确实具有正确的非ASCII字符。关于dexguard的原始问题仍然存在。

2 个答案:

答案 0 :(得分:1)

DexGuard可能确实使用非ASCII UTF-8字符进行模糊处理,具体取决于模糊库。它的ReTrace工具可以很好地处理它们,但是你需要确保你的环境在复制它们时不会破坏堆栈跟踪:控制台,文本编辑器,窗口系统等。

答案 1 :(得分:0)

为回溯工具创建跟踪文件时,请确保以UTF-8格式对内容进行编码。例如,您可以使用菜单选项 - 编码

notepad++中控制编码