gpt4 book ai didi

java - 使用 ProGuard 进行混淆时,-keepattributes SourceFile,LineNumberTable 是否会使生成的 apk 更容易进行逆向工程?

转载 作者:IT老高 更新时间:2023-10-28 21:15:02 25 4
gpt4 key购买 nike

我发现自己在报告的堆栈跟踪中需要更多详细信息,但我担心通过包含额外数据(通过使用 -keepattributes SourceFile,LineNumberTable)我会让我的应用更容易进行逆向工程。是这样吗,如果是的话,是多少?

最佳答案

ProGuard manual > Examples > Producing useful obfuscated stack traces

SourceFile 属性是必需的,因为 Oracle/Sun 的 Java 虚拟机在堆栈跟踪中不包含行号,这是您真正想要的(并且它本身是无害的)。我还没有检查这是否适用于 Android 的 Dalvik 虚拟机。

作为一种解决方案,ProGuard 可以保留 SourceFile 属性,但将其内容替换为您选择的无意义字符串,例如

-renamesourcefileattribute SourceFile

字符串的值对于解释堆栈跟踪并不重要。选择像“SourceFile”这样的字符串可以避免增加类文件的大小,因为这个字符串在定义上已经存在了。

关于java - 使用 ProGuard 进行混淆时,-keepattributes SourceFile,LineNumberTable 是否会使生成的 apk 更容易进行逆向工程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6727872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com