Clash Verge Rev 一劳永逸解决 Adobe 全家桶弹窗问题
TheGrandStaff
编辑于 2024年12月13日 21:20

阅读本文前,请确认你已经安装了 m0nkrus 的直装破解版,或者用 GenP 进行了 Patch 。

如果你不是 Clash Verge Rev 用户,可以放弃阅读本文。

步骤

  1. 切换到【订阅】标签页

  2. 右键【全局扩展脚本】,然后【编辑文件】

  3. 写入以下 JavaScript 代码并保存

代码块
JavaScript
自动换行
复制代码
function main(config, profileName) {
  config?.rules.unshift(
    "DOMAIN-SUFFIX,ic.adobe.io,REJECT-DROP",
    "DOMAIN-REGEX,\\w{10}.adobe.io,REJECT-DROP",
    "DOMAIN-REGEX,\\w{10}.adobestats.io,REJECT-DROP"
  );
  return config;
}
复制成功

搞定。

黄色状态的请求都被丢弃了,所以不会有任何响应,也就不会弹窗了

注意,该方法基于规则过滤,因此代理模式必须选规则,如果是全局或者直连,就会失效。

原理

Adobe 全家桶任一产品,在启动后的前几到十几分钟内,会根据系统环境和程序内部状态,请求 Adobe Genuine Service 某些网络接口数次,这些接口用于在线验证某些程序文件的完整性,和产品的授权许可。通过实践得知,相关的接口地址包括但可能不限于:

代码块
JavaScript
自动换行
复制代码
ic.adobe.io \w{10}.adobe.io \w{10}.adobestats.io
复制成功

Adobe 产品在向这些接口发送请求后,会有以下三种可能的情况:

  1. 如果发送失败(比如断网、配置本地防火墙对应的出口禁止规则),产品就会直接弹窗,提示无网络连接,关闭弹窗后产品会强制自动退出,根本没法使用。

  2. 如果发送成功,并且成功收到接口的响应(非正版),产品就会直接弹窗(懂得都懂),关闭弹窗后产品会强制自动退出,根本没法使用。

  3. 如果发送成功,但没有收到接口的响应,产品就会在一定时间间隔之后(或者某些内部状态触发),再次向接口发送请求。这样重复数次之后,如果每次请求都成功发送,但都没有响应,那么产品就放弃了挣扎,不再发送请求,直到下一次被重新打开。

所以,为了学习和研究,我们要遵循第三种情况。通过修改 hosts 文件把请求重定向到 0.0.0.0 丢弃来实现这一目的,技术上可行但过于繁琐,因为 Adobe 会频繁更新由 10 个数字和小写字母随机组成的子域名。

Clash Verge Rev 提供了用 JavaScript 扩展脚本修改 Clash 内核运行时配置的功能,我们可以修改其中的代理规则,通过正则表达式匹配符合特征的接口,捕获对这些接口的请求并丢弃。

至此,我们一劳永逸地解决了弹窗问题。但有几点需要注意:

  1. 确保你用的是最新版的 Clash Verge Rev 。

  2. 确保 Clash Verge Rev 代理模式运行在 Rule 模式,不然全局扩展脚本不会生效。

  3. 不要按照其他网络教程配置任何防火墙出口禁止规则,那是错误的解决方案。如上文所述,这会导致请求发送失败直接弹窗。

  4. 并不需要 Clash Verge Rev 开启 Tun 模式。

  5. 不建议 Adobe Creative Cloud + GenP 破解,推荐安装 m0nkrus 的直装破解版。