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

标签 android security url android-volley android-security

我在我的应用程序中使用 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 链接。您可以混淆您的代码,但有一些工具可以逆转混淆。

如果有人想反编译您的代码并对其进行反混淆,那是因为他们认为您一定有值得追求的东西。在这种情况下,您的安全方法是完全错误的;易受攻击的是您的服务器或网络服务,而不仅仅是您的应用程序。

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

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

关于android如何隐藏或保护源代码中的url链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48687038/

相关文章:

java - 如何在socket io和android聊天应用程序中检查用户是否在线

python - 如何在每次创建页面时生成一定长度的随机 url?

php - 这个 javascript 代码是什么意思以及如何使用 php 对其进行解码

java - mMediaRecorder.setOutputFile(ParcelFileDescriptor.fromSocket(mSocket)) - 没有写入 mSocket

android - 蓝牙连接仅在第一次有效

android - 在 (Sherlock)DialogFragment 中调用 startActivity(intentServiceIntent) 会导致 ActivityNotFoundException

java - 从 Java 连接到 HTTPS 服务器并忽略安全证书的有效性

android - 如何获取来电者详细信息 - 小区 ID?

java - 安全约束 <url-pattern> 行为异常 - websphere

php - Yii 框架中错误的返回 url