java - 通过 Java 在不使用新 URL() 的情况下加载文件

标签 java url dropbox

所以我正在制作一款小游戏,我所处的市场非常……竞争激烈……竞争如此激烈,以至于免费向公众泄露是非常普遍的。要泄露游戏,此人必须移除 HWID 系统和 Killswitch 系统。要做到这一点,最常见的方法就是在整个项目中搜索“新 URL”并检查它创建的所有链接,然后在需要时将其删除。

这必须只使用默认的 Java 类,我不能使用任何库或其他可链接的下载。

我的问题是:“是否可以在不使用 URL 类的情况下向我的保管箱文件发出读取文本文档的请求?”

不确定我是否涵盖了我需要涵盖的所有内容,所以如果您感到困惑,我可以提供更多信息。

提前致谢!

最佳答案

这确实是古老的“我如何保护我的 Java 应用程序免受 X 攻击?”。

事实是你做不到。任何有足够时间和工作的人都能够拆开您的 Java 应用程序并将其重新组装起来。您当然可以使用一些很棒的混淆器,这对于任何想要快速完成它的人来说都是不切实际的。

过了那个点你问了一个有点微不足道的问题。即“如何隐藏‘新 URL’”。我假设您最终将依赖 urlconnection 类来实际使用 url。这可以处理大量优化,您可以添加更多层,例如将类名和 url 存储为字节数组和许多其他内容。它还可以对构造函数和类进行一些缓存。 我真的建议你不要使用这个!

public static URLConnection getConnection() {
    try {
        Class<?> cla = Class.forName("java.net.URL");
        return (URLConnection) cla.getMethod("openConnection", new Class[0]).invoke(cla.getConstructor(String.class).newInstance("http://somtopsecereturl.tld"), new Object[0]);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    }
    return null;
}

您当然可以继续沿着堆栈向下移动并通过反射调用进行实际读取,这样您就永远不会引用真正的对象类型,从而很难找到它。

关于java - 通过 Java 在不使用新 URL() 的情况下加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10437418/

相关文章:

java - 发生inflate异常 'androidx.appcompat:appcompat:1.1.0'

java - 在 ios 应用程序中收到授权码时尝试从后端服务器交换授权码时的 Redirect_uri

firebase - 最大url查询字符串太多众说纷纭?

java - 在 Java 中从 URL 中读取 XML 字符串

javascript - 直接在 URL 中过滤 API 响应

java - Google Guice 属性占位符

java - 如何强制 Gradle 覆盖自定义 WAR 任务中的资源文件?

linux - 当我在远程服务器上运行脚本时,它会在本地计算机上启动

python - 使用 dropbox API 下载指定文件夹中的所有图像,而不是子文件夹

python - 尝试构建简单的文件 uploader Facebook 应用程序