java - 在 Android 客户端应用程序中混淆 URL

标签 java android smali

我编写了一个 Android 客户端应用程序,其中使用静态 URL“发布”到我的服务器。我使用 APKTool 反编译了 APK,发现我可以在它生成的 .smali 文件中看到我在 .java 代码中提到的 URL。我想避免这个 URL 像这样显示。有没有办法隐藏/混淆java代码中的URL?

这是反编译的 .smali 文件中的示例。

invoke-direct {v8},Lorg/apache/http/impl/client/DefaultHttpClient;->()V

.194行
.local v8,httpclient:Lorg/apache/http/impl/client/DefaultHttpClient;
新实例 v9,Lorg/apache/http/client/methods/HttpPost;

const-string v23,“http://example.com/getdata.php”

移动对象/from16 v0、v23

调用直接 {v9,v0},Lorg/apache/http/client/methods/HttpPost;->(Ljava/lang/String;)V

最佳答案

可以使用加密、base64 编码等方法来混淆 URL,但是您所做的任何影响客户端应用程序的操作都无法保护您的 URL。精明的程序员总是能够识别您的应用程序正在发送哪些消息;如果您想要安全,请保护服务器,而不是客户端

关于java - 在 Android 客户端应用程序中混淆 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471969/

相关文章:

java - Thread.sleep() 的 Dalvik 操作

java - 如何修复错误 502 状态

java - 项目作为 spring mongo 中的嵌套文档

java - 如何通过 PowerMockito 模拟 String#equals 方法

java - TestNg,注释 "beforeTestMethod"并覆盖

java - Android: thread id=1: thread exiting with uncaught exception (group=0xb3d17b20)

java - 如何在 Smali 代码的方法中将 boolean 值设置为 false

java - SQLiteAssetHelper 中缺少数据库错误

android - 如何在我的 Android 应用程序中简单地在屏幕上滑动来更改 'tabs'?就像 Google+ Android 应用一样

java - 替换/重建Android源中的framework.jar