吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1691|回复: 54
收起左侧

[原创] 修改MyBatisCodeHelperpro插件的有效期

[复制链接]
niwajiang 发表于 2023-3-15 20:07

MyBatisCodeHelperpro 是一款 IntelliJ IDEA 上生成mybatis模版文件的插件。
这里分析下怎么无限使用的思路仅供参考。其实很多客户端软件都可以参考该思路
分析该插件工作原理:   

  1. 提交激活码到服务端
  2. 服务端验证返回验证信息(是加密信息)
  3. 本地解密信息,将解析后的json解析为实体类
  4. 判断json解析的实体类的字段过期时间

处理思路:修改最后实体类代码,直接跳过服务端返回的有效时间。
修改设置(setXXX),获取(getXXX)方法。不使用解析后的json字段设置,固定为一个无限长的时间达到破解的结果。

反编译jar包

该插件核心jar包为MyBatisCodeHelper-Pro-obfuss.jar,这是一个混淆后的jar包,所以需要借助CRF工具。

java -jar cfr-1.5.jar MyBatisCodeHelper-Pro-obfuss.jar --renamedupmembers true --hideutf false >> a.txt

关于 CRF的使用就不多描述了,可以在这里查看其使用说明:
cfr GitHub地址

https://github.com/leibnitz27/cfr

官网地址

https://www.benf.org/other/cfr

查看反编译结果

image-20220603191642043.png

如图a.txt为反编译的结果,jar包中所有的类都在该文件中。打开该文件,根据抓包获取到的字段信息,查到目标类为

com.ccnode.codegenerator.S.a.b.class
即我们要修改的方法为

public Long e() {
    return this.d;
}

public void a(Long l2) {
    this.d = l2;
}

生成需要的class文件

这里借助 javassist生成修改后的class文件,这里仅贴出部分代码。

// 修改 get方法
        StringBuilder builder = new StringBuilder();
        builder.append("{")
                .append("       return new Long(4797976044000L);")
                .append("}");
        getValidToMethod.setBody(builder.toString());

// 修改set方法
        StringBuilder builder1 = new StringBuilder();
        builder1.append("{")
                .append("        this.e = new Long(4797976044000L);")
                .append("}");
        setValidToMethod.setBody(builder1.toString());

        String getValidMethodBuilder = "{" +
                "       return Boolean.TRUE;" +
                "}";
        getValidMethod.setBody(getValidMethodBuilder);

// 修改boolean属性
        String setValidMethodBuilder = "{" +
                "this.b=Boolean.TRUE;" +
                "}";
        setValidMethod.setBody(setValidMethodBuilder);

使用修改后的class文件替换jar包中对应的class文件

打开  IntelliJ IDEA 查看结果,又可以使用到退休了。
1678881967069.jpg

免费评分

参与人数 9吾爱币 +8 热心值 +8 收起 理由
OuDeces + 1 + 1 感谢分享
yiyiwangru + 1 + 1 谢谢@Thanks!
欢乐时光 + 1 + 1 我很赞同!
michael_dragon + 1 + 1 我很赞同!
zhoujinwan + 1 + 1 谢谢@Thanks!
diaoyuhe + 1 谢谢@Thanks!
Imba77 + 1 + 1 感谢分享,学习了~
dfvips + 1 感谢分享。
vnightray + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Taker369 发表于 2023-3-16 23:46
空心梦 发表于 2023-3-16 23:39
大佬怎么弄的,我改完还是未激活

你得看具体的报错日志是什么原因, 可能和我遇到的情况不一样; 我是因为压缩工具替换文件的原因导致的NoClassDefFoundError; 实在不行,你直接拿我改好的吧     
链接:https://pan.baidu.com/s/1MiSE9aFQzCJfnAntKHbOwQ
提取码:al8c
sunyixin745 发表于 2023-3-19 06:05
java.lang.NoClassDefFoundError: com/ccnode/codegenerator/F/c/e
        at com.ccnode.codegenerator.F.e.c.a(c.java:22)
        at com.ccnode.codegenerator.F.b.d.a(d.java:228)
        at com.ccnode.codegenerator.F.b.d.b(d.java:186)
        at com.ccnode.codegenerator.F.b.d.a(d.java:166)
        at com.ccnode.codegenerator.F.k.a(k.java:27)
        at com.ccnode.codegenerator.c.a.doOKAction(a.java:247)
        at com.intellij.openapi.ui.DialogWrapper$OkAction.doAction(DialogWrapper.java:1863)
        at com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1817)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
        at java.desktop/java.awt.Component.processEvent(Component.java:6421)
        at java.desktop/java.awt.Container.processEvent(Container.java:2266)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:760)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
        at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:614)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:569)
        at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
        at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
        at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
        at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
        at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
        at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
        at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
        at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
        at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
        at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
        at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
        at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:741)
        at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:466)
        at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1675)
        at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1633)
        at com.intellij.openapi.ui.DialogWrapper.showAndGet(DialogWrapper.java:1647)
        at com.ccnode.codegenerator.O.f.actionPerformed(f.java:111)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
        at java.desktop/java.awt.Component.processEvent(Component.java:6421)
        at java.desktop/java.awt.Container.processEvent(Container.java:2266)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:760)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
        at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:614)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:569)
        at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
        at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
        at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
        at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
        at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
        at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
        at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
        at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
        at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
        at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
        at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
        at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:741)
        at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:466)
        at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1675)
        at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1633)
        at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:141)
        at com.intellij.openapi.wm.impl.welcomeScreen.CustomizeTab$buildComponent$1$3$1.invoke(CustomizeTabFactory.kt:208)
        at com.intellij.openapi.wm.impl.welcomeScreen.CustomizeTab$buildComponent$1$3$1.invoke(CustomizeTabFactory.kt:207)
        at com.intellij.ui.components.ActionLink._init_$lambda$1(ActionLink.kt:32)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
        at java.desktop/java.awt.Component.processEvent(Component.java:6421)
        at java.desktop/java.awt.Container.processEvent(Container.java:2266)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:760)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
        at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:614)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:569)
        at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
        at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
        at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
        at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
        at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
        at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
        at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
        at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: java.lang.ClassNotFoundException: com.ccnode.codegenerator.F.c.e PluginClassLoader(plugin=PluginDescriptor(name=MyBatisCodeHelperPro, id=com.ccnode.codegenerator.MyBatisCodeHelperPro, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\IntelliJIdea2023.1\plugins\MyBatisCodeHelper-Pro, version=3.1.8, package=null, isBundled=false), packagePrefix=null, instanceId=394, state=active)
        at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:150)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        ... 178 more
秋天 发表于 2023-3-16 11:53
leiyipeng008 发表于 2023-3-16 12:15
谢谢,学习了!
Isabellaa 发表于 2023-3-16 12:34
感谢大佬
ameiz 发表于 2023-3-16 12:45
感谢大佬的分享哈。
naw 发表于 2023-3-16 12:48
感谢分享
随便去取 发表于 2023-3-16 13:29
MyBatisCodeHelper-Pro-obfuss.jar我找不到这个文件 安装的是瞌睡虫的MyBatisCodeHelperPro插件
随便去取 发表于 2023-3-16 13:31
随便去取 发表于 2023-3-16 13:29
MyBatisCodeHelper-Pro-obfuss.jar我找不到这个文件 安装的是瞌睡虫的MyBatisCodeHelperPro插件

PyCharm 2022.3.3
北辰歌者I 发表于 2023-3-16 13:44
试试看好不好用
 楼主| niwajiang 发表于 2023-3-16 13:57

是插件的压缩包里
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2023-3-22 23:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表