我编写了一个 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/