gpt4 book ai didi

android - 调试期间的 Dexguard 安全性

转载 作者:搜寻专家 更新时间:2023-11-01 08:47:13 25 4
gpt4 key购买 nike

我在我的 android 应用程序中使用 Dexguard 来防止 逆向工程。现在在我的应用程序中非常大,我有 在我所在的许多类(class)中使用了几个地方 System.out.println 打印我的服务器 URL 以方便调试。现在当我发布时 这个应用程序,这个 apk 我给其他开发者,他们 可以在他们的 logcat 中看到所有 System.out.println 的东西。如何 我应该避免这种情况吗?这有严重的问题。

最佳答案

首先,您不应该在所有地方直接使用 System.out.println。使用您自己的包装类进行日志记录。

在 dexguard/proguard 中你可以使用 assumenosideeffects用于删除不需要发布的代码。

因此,对于 System.out.print,您可以在 dexguard 规则中添加以下内容。

 -assumenosideeffects class java.io.PrintStream {
public void println(%);
public void println(**);
}

但这是有风险的,因为此类可能用于日志记录以外的目的。

最快的方法是使用 android.util.Log 代替 System.out.print 然后添加以下内容

-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}

参见 proguard docs

关于android - 调试期间的 Dexguard 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27010283/

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