android如何隐藏或保护源代码中的url链接

时间:2018-02-08 13:47:31

标签: android security url android-volley android-security

我在我的应用中使用了url link来发送和接收来自服务器的数据。如果某些机构反编译我的apk文件并获取源代码可以使用网址并发送垃圾邮件或做一些无偿购买!

现在我该如何保护网址?

这是我使用的服务器请求示例。 (我仍然使用本地服务器直到完成申请)

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);
    }
}

1 个答案:

答案 0 :(得分:0)

您无法可靠地保护这些网址链接。您可能会混淆代码,但有一些工具可以反转混淆。

如果有人想要对您的代码进行反编译并对其进行去混淆,那是因为他们认为您必须拥有一些有价值的东西。在这种情况下,您的安全方法都是错误的;这是您的服务器或Web服务易受攻击,而不仅仅是您的应用程序。

  1. 您的代码不使用HTTPS,因此只需“嗅探”网络即可 流量将显示URL。 “嗅探者”也可以 查看响应数据。
  2. 您应该使用HTTPS,这意味着修改您的服务器配置和 获得站点证书。但这并不能解决您的代码这一事实 可以轻松检查cab的URL。 HTTPS只会加密数据 正在交换,而不是用于建立连接的URL,因此一旦知道了URL,就可以使用它们 在HTTPS网站上,用户仍然可以在没有您的应用的情况下获取数据。
  3. 您需要支付某些费用的大多数网站都使用某种安全方式 支付包(电子商务)或用户登录(订阅服务)。您应该在线搜索付款 打包并重新设计以获得更安全的Web服务。
  4. 很抱歉,如果这不是你想要的。