【问题标题】:C/C++ code in order to store private keys in Android app [closed]用于在 Android 应用程序中存储私钥的 C/C++ 代码 [关闭]
【发布时间】:2015-01-30 08:57:57
【问题描述】:

我正在努力寻找在 Android 应用中存储私钥的最佳方式。 Proguard 还不够,DexGuard 听起来不错,但对我来说有点贵..

在我的情况下,最重要的是隐藏(或强化查看)一些 API 访问密钥。经过几天的尝试和错误,我发现使用 C 代码看起来很有用。

我的问题是……

·你认为使用 C/C++ 是隐藏私钥的好方法吗?

・我正在使用 Android Studio。也许我可以使用 NDK(Native Development Kit)。你认为 NDK 比其他方法更容易吗? (我没用过NDK)

谢谢,

仅供参考

How to avoid reverse engineering of an APK file?

Best Practice for storing private API keys in Android

【问题讨论】:

    标签: android c++ android-ndk proguard obfuscation


    【解决方案1】:

    不可能在客户端应用程序中安全地保存密钥。 java可以很容易地反编译。 proguard 让它变得更难。 c++ 似乎更难,但并非不可能反编译。所以你必须知道,如果你将它保存在客户端应用程序中,一些黑客可以找到任何密钥。

    最简单的方法,打开您的库并尝试以文本形式搜索您的密钥。很可能,你会在二进制文件的某个地方看到它

    【讨论】:

    • 谢谢阿德姆。是的,完全同意你的看法。但就我而言,“好多了”是可以的。
    • 是的。这不简单。我认为在键上应用一些过滤器会很好。不要将其保留为 C++ 代码中的普通格式
    • 正在打开库...有趣。我从来没想过..
    • 如果你把它写成普通格式,比如,std::string key("some key");您很可能将其视为文本格式
    • 好的。我将用解码键编写编码字符串..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2021-05-03
    相关资源
    最近更新 更多