android如何在源代码中隐藏或保护网址链接

joh*_*ohn 5 security url android android-volley android-security

我在应用程序中使用url链接从服务器发送和接收数据。如果有人反编译我的apk文件并获取源代码,则可以使用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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Les*_*Les 2

您无法可靠地保护这些 URL 链接。您可以混淆代码,但有一些工具可以逆转混淆。

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

  1. 您的代码不使用 HTTPS,因此只需“嗅探”网络流量即可揭示 URL。“嗅探器”还可以看到响应数据。
  2. 您应该使用 HTTPS,这意味着修改您的服务器配置并获取站点证书。但这并不能解决您的代码可以轻松检查 URL 的问题。HTTPS 只会加密正在交换的数据,而不是用于建立连接的 URL,因此一旦知道 URL,就可以在 HTTPS 网站上使用它们,并且用户仍然可以在没有您的应用程序的情况下获取数据。
  3. 大多数需要付费的网站都使用某种安全支付包(电子商务)或用户登录(订阅服务)。您应该在线搜索支付套餐并重新设计以获得更安全的网络服务。

抱歉,如果这不是您想要的。