Android如何隐藏或保护源代码中的URL链接



我使用应用程序中的URL链接从服务器发送和接收数据。如果某些身体对我的apk文件进行了反编译,并且获取源可以使用URL并发送垃圾邮件或购买一些而无需付款!

现在如何保护URL链接?

这是我使用的对服务器请求的示例。(我仍然使用本地服务器,直到完成应用程序(

public class GetProduct {
    ArrayList<Product> arrayList;
    ProgressDialog progressDialog;
    String url = "http://192.168.43.46/fasabazar/android/getProductsFullInfo";
    OnProductRecieved onProductRecieved = null;
    public GetProduct(final OnProductRecieved onProductRecieved, final Context context) {
        arrayList = new ArrayList<>();
        progressDialog = new ProgressDialog(context);
        this.onProductRecieved = onProductRecieved;
        JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                JSONArray jsonArray = (JSONArray) response;
                progressDialog.dismiss();
                onProductRecieved.OnRecieved(response);
                // Toast.makeText(context, jsonArray.toString(), Toast.LENGTH_SHORT).show();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
        progressDialog.show();
        request.setRetryPolicy(new DefaultRetryPolicy(7000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        RequestQueue requestQueue = Volley.newRequestQueue(context);
        requestQueue.add(request);
    }
    public interface OnProductRecieved {
        void OnRecieved(JSONArray response);
    }
}

您无法可靠地保护那些URL链接。您可能会混淆您的代码,但是有一些逆转混淆的工具。

如果某人想将您的代码进行解码并删除,那是因为他们认为您必须在那里有一个有价值的东西。在这种情况下,您的安全方法都是错误的。脆弱的是您的服务器或Web服务,而不仅仅是您的应用程序。

  1. 您的代码不使用HTTP,因此简单地"嗅探"网络流量将揭示URL。"嗅探器"也可以请参阅响应数据。
  2. 您应该使用https,这意味着修改服务器配置和获得站点证书。但这并不能解决您的代码可以轻松检查出驾驶室的URL。HTTPS仅加密数据被交换,而不是URL建立连接的使用,因此一旦知道URL,就可以使用它们在HTTPS网站上,用户仍然可以在没有应用程序的情况下获取数据。
  3. 大多数您必须为某种东西付款的网站使用某种安全的网站付款包(电子商务(或用户登录(订阅服务(。您应该在线搜索付款软件包和重新设计更安全的Web服务。

对不起,如果不是您想要的。

最新更新