Fast Request Crack
Fast Request Crack

Fast Request Crack

Fast Request Crack

过程

准备工作

  • Android Studio

    用来安装Fast Request插件和启动远程调试功能

  • IntelliJ IDEA

    用于远程调试

  • instrumented-restful-fast-request-pro-2024.1.9.1.jar

    从IDEA插件官网下载Fast Request 插件包,解压找到源码jar文件

开始

IDEA新建一个空项目

粘贴instrumented-restful-fast-request-pro-2024.1.9.1.jar,右键添加为库

image-20250109230855715

右上角添加运行配置

image-20250109231001635

image-20250109222639887

复制远程JVM命令行,添加到Android Studio 的vm配置studio.vmoptions

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

再启动Android Studio,同时点击IDEA右上角的调试

如果调试成功 将显示 已连接到地址为 ''localhost:5005',传输: '套接字'' 的目标虚拟机

断点

1.从验证下手

此内容查看价格为5QL币立即购买
客服: 273641837

解决方案

此内容查看价格为5QL币立即购买
客服: 273641837

顺手看一眼

CodeGeeX弹窗

public static Object execute(@NotNull final Project project, @NotNull Continuation<? super Unit> continuation) {
    if (project == null) {
        $$$reportNull$$$0(0);
    }
    if (continuation == null) {
        $$$reportNull$$$0(1);
    }
    IdeaPluginDescriptor plugin = PluginManagerCore.getPlugin(PluginId.getId("ai.codegeex.plugin"));
    boolean z = plugin == null || !plugin.isEnabled();
    final FastRequestConfiguration m244getState = FastRequestComponent.getInstance().m244getState();
    if (m244getState == null) {
        return null;
    }
    Integer codegeexPromptCount = m244getState.getCodegeexPromptCount();
    if (codegeexPromptCount.intValue() <= 3 && z) {
        Boolean l1I11IlllI1ll1Il1lI = lIIIllIl1Il1IlIlI1.l1I11IlllI1ll1Il1lI();
        String str = l1I11IlllI1ll1Il1lI.booleanValue() ? "安装" : "Install";
        String str2 = l1I11IlllI1ll1Il1lI.booleanValue() ? "官网" : "Official website";
        final String str3 = l1I11IlllI1ll1Il1lI.booleanValue() ? "https://codegeex.cn/zh-CN?article=241205" : "https://codegeex.cn/en-US";
        new io.github.kings1990.plugin.fastrequest.ui.l1I11IlllI1ll1Il1lI("FastRequestSticky", "Fast Request", l1I11IlllI1ll1Il1lI.booleanValue() ? "CodeGeeX:免费必装的智能编程助手" : "CodeGeeX:Free and Powerful AI Assistant for Developers", NotificationType.IDE_UPDATE).addAction(new NotificationAction(str) { 
            private static void $$$reportNull$$$0(int i) {
                Object[] objArr = new Object[3];
                switch (i) {
                    case 0:
                    default:
                        objArr[0] = "e";
                        break;
                    case 1:
                        objArr[0] = "notification";
                        break;
                }
                objArr[1] = "io/github/kings1990/plugin/fastrequest/updateImpl/PromptPluginActivityHandler$3";
                objArr[2] = "actionPerformed";
                throw new IllegalArgumentException(String.format("Argument for @NotNull parameter '%s' of %s.%s must not be null", objArr));
            }

            public void actionPerformed(@NotNull AnActionEvent anActionEvent, @NotNull Notification notification) {
                if (anActionEvent == null) {
                    $$$reportNull$$$0(0);
                }
                if (notification == null) {
                    $$$reportNull$$$0(1);
                }
                try {
                    HashSet hashSet = new HashSet();
                    hashSet.add(PluginId.getId("ai.codegeex.plugin"));
                    PluginsAdvertiser.installAndEnable(project, hashSet, true, () -> {
                        l1IIII1Illl1lll1I1.l1I11IlllI1ll1Il1lI("ck", "下载");
                        ApplicationEx applicationEx = ApplicationManagerEx.getApplicationEx();
                        applicationEx.invokeLater(() -> {
                            applicationEx.restart(true);
                        }, ModalityState.nonModal());
                    });
                } catch (Exception e) {
                    l1IIII1Illl1lll1I1.llIIII1Il1IlI1Il.warn("install CodeGeeX plugin fail:%s", e);
                }
            }
        });
        m244getState.setCodegeexPromptCount(Integer.valueOf(codegeexPromptCount.intValue() + 1));
        l1I11IlllI1ll1Il1lI("sw", "弹窗展现");
        return null;
    }
    return null;
}