相关疑难解决方法(0)

使用proguard删除日志调用

我正在尝试使用proguard来删除所有日志:我在proguard-project.txt中输入了以下行:

-assumenosideeffects class android.util.Log { *; }
Run Code Online (Sandbox Code Playgroud)

我的project.properties看起来像这样:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)

尽管如此,日志仍然会在我的申请中显示出来.我到底错在了什么?

android proguard

38
推荐指数
3
解决办法
3万
查看次数

如何在Android应用程序中保护字符串?

如何在Android应用程序中保护字符串?

选项:

  1. ProGuard:它不保证字符串? proguard是否可以模糊静态字符串常量?

  2. 加密字符串:对于加密我需要在某些地方存储加密密钥(字符串)同样的问题,如何保护加密密钥.

  3. 从Web服务获取字符串:但是这个解决方案对我来说不起作用,因为app没有Internet要求/访问权限/需求/业务决策.

  4. NDK:写入包含字符串的c文件并使用JNI返回,但我发现Hex-Ray反编译可以反编译*.so文件 https://www.hex-rays.com/index.shtml

================================================

C中的功能

jstring Java_com_abc_xyz_getString(JNIEnv* env, jobject javaThis) {
  return (*env)->NewStringUTF(env, "Hello String");
}
Run Code Online (Sandbox Code Playgroud)

====================================

请建议在Android SDK/NDK中保护字符串的最佳选项.

security android android-ndk

30
推荐指数
1
解决办法
4111
查看次数

保护字符串不变以防逆向工程

我有Android应用程序,它具有硬编码(静态字符串常量)凭据(用户/通行证),用于通过SMTP发送电子邮件.

问题是.apk中的.dex文件可以很容易地进行逆向工程,每个人都可以看到我的密码.

有没有办法如何保护这些凭据,而我仍然可以在我的课程中使用它们?

java security android reverse-engineering credentials

23
推荐指数
3
解决办法
1万
查看次数