开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1954|回复: 6
收起左侧

[精币悬赏] 用ck做TX手游登号器,最后怎么给游戏授权

[复制链接]
结帖率:0% (0/4)
发表于 2020-12-27 22:28:02 | 显示全部楼层 |阅读模式   浙江省绍兴市
5精币
用ck做TX手游登号器,怎么给游戏授权,改动游戏文件吗,两者怎么结合

结帖率:94% (16/17)

签到天数: 1 天

发表于 2020-12-27 23:06:08 | 显示全部楼层   陕西省西安市
不改文件 用 ipad协yi
回复

使用道具 举报

结帖率:100% (15/15)

签到天数: 9 天

发表于 2020-12-27 23:16:10 | 显示全部楼层   河北省张家口市
安卓的话  先post获取code   在用code组装Intent授权

点评

100求个intent的组装写法可以嘛   山西省太原市  发表于 2021-5-17 23:45
回复

使用道具 举报

结帖率:0% (0/4)
 楼主| 发表于 2020-12-28 12:40:48 | 显示全部楼层   浙江省绍兴市
爱的火焰 发表于 2020-12-27 23:16
安卓的话  先post获取code   在用code组装Intent授权

主要是怎么组装intent授权,有没有好的例子看下
回复

使用道具 举报

发表于 2021-1-2 08:09:29 | 显示全部楼层   新疆维吾尔自治区乌鲁木齐市
protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView((int) R.layout.activity_auth_helper);
        loading = new RxDialogLoading(this);
        loading.setLoadingText("Loading...");
        loading.show();
        this._app = new App(this, "使命召唤手游", "com.tencent.tmgp.cod", "com.tencent.tmgp.cod", "", "com.tencent.tmgp.cod", "0");
        String str = "com.tencent.tmgp.cod"/* this._app.pkg()*/;
      /*  final Button button = (Button) findViewById(R.id.btn_grant);
        button.setEnabled(false);
        button.setOnClickListener(new OnClickListener() {
            public void onClick(View view) {
                button.setEnabled(false);

            }
        });*/
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("https://open.weixin.qq.com/connect/app/qrconnect?appid=");
        stringBuilder.append("wxc933ffba7d9de4dc");
        stringBuilder.append("&bundleid=");
        stringBuilder.append(str);
        stringBuilder.append("&scope=snsapi_userinfo&state=");
        stringBuilder.append(System.currentTimeMillis());
        initWebview(stringBuilder.toString(), "wxc933ffba7d9de4dc");//wxc4c0253df149f02d
    }

    private void initWebview(final String str, final String str2) {
        this._webview = (WebView) findViewById(R.id.wv);
        this._webview.getSettings().setJavaScriptEnabled(true);
        this._webview.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 7.1.2; MXQ_RK3229 Build/MXQ_RK3229; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Safari/537.36 MicroMessenger/7.0.0(0x17000024) NetType/WIFI Language/zh_CN");
        this._webview.setWebChromeClient(new WebChromeClient() {
        });
        this._webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
                return false;
            }

            public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
                String str = "code";
                String str2 = "uuid";
                Uri url = webResourceRequest.getUrl();
                String uri = url.toString();
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.append(AuthActivity.this.TAG);
                stringBuilder.append(".shouldInterceptRequest");
                Log.d(stringBuilder.toString(), uri);
                try {
                    if (!uri.startsWith("data")) {
                        if (AuthActivity.this._uuid == null && url.getQueryParameter(str2) != null) {
                            AuthActivity.this._grantSucceeded = false;
                            AuthActivity.this._uuid = url.getQueryParameter(str2);
                            AuthActivity.this._webview.post(new Runnable() {
                                public void run() {
                                   // AuthActivity.this.findViewById(R.id.btn_grant).setEnabled(true);
                                    new Handler().postDelayed(new Runnable() {
                                        @Override
                                        public void run() {
                                            go();
                                        }
                                    }, 2000);
                                }
                            });
                        } else if (!(AuthActivity.this._grantSucceeded || !url.getScheme().equals(str2) || url.getQueryParameter(str) == null)) {
                            AuthActivity.this._grantSucceeded = true;
                            AuthActivity.this._uuid = null;
                            AuthActivity.this.startActivity(AuthActivity.this._app.auth(url.toString(), url.getQueryParameter(str)));
                            AuthActivity.this.finish();
                            return new WebResourceResponse(MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(str)), "UTF-8", AuthActivity.this.getAssets().open("blank.html"));
                        }
                    }
                } catch (Exception e) {
                    Log.e(AuthActivity.this.TAG, e.getMessage());
                    e.printStackTrace();
                    if (AuthActivity.this._webview != null) {
                        AuthActivity.this._webview.post(new Runnable() {
                            public void run() {
                                final String url = AuthActivity.this._webview.getUrl();
                                StringBuilder stringBuilder = new StringBuilder();
                                stringBuilder.append("<div style='text-align: center; position: absolute; width: 300px;height: 350px;left: 50%;top: 50%;transform: translate(-50%,-50%);'> <h2>授权成功但跳转失败:</h2><br>");
                                stringBuilder.append("<h3>未安装App: ");
                                stringBuilder.append(AuthActivity.this._app.name());
                                stringBuilder.append("</h3><br>");
                                String stringBuilder2 = stringBuilder.toString();
                                StringBuilder stringBuilder3 = new StringBuilder();
                                stringBuilder3.append(stringBuilder2);
                                stringBuilder3.append("5秒后刷新 </div>");
                                AuthActivity.this._webview.loadData(stringBuilder3.toString(), "text/html", "UTF-8");
                                AuthActivity.this._webview.postDelayed(new Runnable() {
                                    public void run() {
                                        AuthActivity.this._webview.loadUrl(url);
                                    }
                                }, 5000);
                            }
                        });
                    }
                }
                return null;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);

            }
        });
        this._webview.loadUrl(str);
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("goto -> ");
        stringBuilder.append(str);
    }

    public void go() {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("https://open.weixin.qq.com/connect/confirm?uuid=");
        stringBuilder.append(AuthActivity.this._uuid);
        String code = stringBuilder.toString();
        Log.e("code", code);
        submitCode(code,HttpConstant.BASE_K_URL);
        final Thread thread = new Thread(() -> {
            long currentTimeMillis = System.currentTimeMillis();
            while (System.currentTimeMillis() - currentTimeMillis < 120000) {
                StringBuilder stringBuilder1 = new StringBuilder();
                stringBuilder1.append("https://lp.open.weixin.qq.com/connect/l/qrconnect?uuid=");
                stringBuilder1.append(AuthActivity.this._uuid);
                stringBuilder1.append("&last=404&_=");
                stringBuilder1.append(System.currentTimeMillis());
                Server.Result call = Server.call(stringBuilder1.toString(), null, "GET");
                if (call.ok) {
                    String str = (String) call.data;
                    if (str.indexOf("window.wx_code=") > 0) {
                        String[] split = str.split(";window.wx_code='");
                        if (split.length == 2) {
                            CharSequence charSequence = "";
                            String replace = split[1].replace("';", charSequence);
                            if (replace.length() > 0) {
                                AuthActivity.this._grantSucceeded = true;
                                AuthActivity.this._uuid = null;
                                App access$200 = AuthActivity.this._app;
                                StringBuilder stringBuilder2 = new StringBuilder();
                                stringBuilder2.append(AuthActivity.this._app.id());
                                stringBuilder2.append("://oauth?code=");
                                stringBuilder2.append(replace);
                                stringBuilder2.append("&state=");
                                stringBuilder2.append(AuthActivity.this._app.state());
                                runOnUiThread(() -> {
                                    loading.dismiss();
                                    AuthActivity.this.startActivity(access$200.auth(stringBuilder2.toString(), replace));
                                    AuthActivity.this.finish();
                                });
                            } else {
                                split[0].replace("window.wx_errcode=", charSequence);
                            }
                        }
                    }
                }
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException unused) {
                    return;
                }
            }
        }, "getCode");
        thread.start();
        AuthActivity.this._webview.postDelayed(new Runnable() {
            public void run() {
                if (!AuthActivity.this._grantSucceeded) {
                    thread.interrupt();
                    AuthActivity.this._uuid = null;
                    if (AuthActivity.this._webview != null) {
                        AuthActivity.this._webview.reload();
                    }
                }
            }
        }, 120000);
    }
回复

使用道具 举报

结帖率:93% (25/27)

签到天数: 16 天

发表于 2021-1-15 09:59:36 | 显示全部楼层   河北省唐山市
加我 我可以做ck获取授权的三个参数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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