在混淆代码中隐藏敏感字符串
混淆代码以保护专有信息是一种常见的做法,但敏锐的眼睛仍然可以发现隐藏的字符串。要有效隐藏敏感数据,请考虑以下技术:
编码与加密
如果目标是阻止随意检查,编码就足够了。 android.util.Base64 类提供了一种方便的方法。然而,编码提供的安全性可以忽略不计。
为了更好地防范攻击者,建议使用 AES 等密码进行对称加密。 javax.crypto.Cipher 类提供了其用法示例。
手动加密和解密
按照以下步骤手动实现加密和解密:
第三方 DRM 解决方案
考虑使用第三方 DRM 解决方案,例如 Google 的许可服务器。与自滚动解决方案相比,它们提供了潜在的安全优势,但仍然具有类似于手动加密和解密的局限性。
R 类字符串
您在中提到的 R 类字符串您的代码是对资源的引用。像 ProGuard 这样的混淆器不会混淆 R 类本身,而是混淆对资源 ID 的引用。它们保持相同的编号,但更改了指向实际资源的映射。
在本例中,2130903058 引用了布局文件。如果没有反编译的R类,你无法直接检索它所代表的资源,但它仍然是资源的二进制数据的地址。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3