0

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

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

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

.line 194
.local v8, httpclient:Lorg/apache/http/impl/client/DefaultHttpClient;
new-instance v9, Lorg/apache/http/client/methods/HttpPost;

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

move-object/from16 v0, v23

invoke-direct {v9, v0}, Lorg/apache/http/client/methods/HttpPost;-><init>(Ljava/lang/String;)V

4

1 回答 1

5

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

于 2013-10-19T22:47:53.543 回答