我正在处理一个项目,我需要隐藏特定的URL调用,我不希望这里看到这个URL是URL调用的示例方法
public void example(View view) {
goToUrl("example.com");
}
答案 0 :(得分:5)
你真的不能。您可以对方法名称进行模糊处理,因为最终不需要知道原始方法名称。您可以使用混淆。在这里,您最终需要知道真实的URL。因此需要一个不混淆的功能。这意味着您可以从中轻松获得结果。或者您知道,只需跟踪传出的HTTP请求通过代理使用的URL。
答案 1 :(得分:1)
在将近2年后回顾这个问题,这个问题已经引起了很多关注,我发现我最终将一些混淆器用于String混淆,但是每个混淆都可以被破坏。这是我的混淆器列表,用于加密字符串,我将通过列出付费混淆器来开始。
1。 Zelix Klass Master
他们的官方网站是https://zelix.com
在我看来,这是jar或android最好的Java混淆器之一。 由于混淆器的性能好,它的价格并不便宜。
如果您是小型开发人员,则单个许可证的价格为239美元,如果您是开发人员团队(Comapany),则为479美元。
您可以看到功能列表here
2。 DexGuard
他们的官方网站是https://www.guardsquare.com/en
DexGuard是由Proguard背后的人制造的混淆器
这是我认为第二好的混淆器。与Zelix上的名称混淆相比,名称的混淆要好得多。
我不确定它们的价格,因为我从未使用过它,但是我已经看到它正在应用程序中使用。您如何请求定价here
免费混淆器。
您可以找到免费的替代项,例如StringCare和Paranoid
它们不如我上面列出的那样好,具有Java基本知识的人最多需要5秒钟的时间,使用这两个工具来破解您的程序。
答案 2 :(得分:-2)
对于混淆字符串,您现在可以使用新的gradle插件+库,请在此处查看
https://github.com/MichaelRocks/paranoid
现在还有一个新的插件可以混淆资源,请在下面查看
https://github.com/shwenzhang/AndResGuard
共享更多的开发人员可以使用它,因此越来越多的开发人员将为这些插件的进一步开发做出贡献,因此我们可以共同改进这些插件。