• 大战皇家赌场新疆发现超大型铅锌矿 资源储量近1900万吨 2018-04-21
  • 澳门真人赌场开户网址香港亿万富豪郑裕彤逝世 2018-04-20
  • 澳门赌场好博彩安徽出台新规:出售个人隐私最高将被罚50万元 2018-04-20
  • 大发888赌场央行今日进行800亿逆回购 实现净回笼951亿 2018-04-19
  • 澳门赌场网站多特:中超确实想买奥巴梅扬 欢迎中国的顶级球员 2018-04-18
  • 澳门银河赌场易建联首秀3分钟2板湖人大胜国王 小野兽15+5 2018-04-18
  • 澳门赌场排名杨怡大婚收20支龙凤手镯 只能挂在脖子上 2018-04-17
  • 缅甸果敢赌场孙宏斌3天内两次出手 买下融科后又以40亿入股金科地产 2018-04-16
  • 澳门皇家赌场广水信息B站回应影视剧下架:因审查内容 合规者将恢复上线 2018-04-16
  • 威尼斯人高尔夫赌场陆毅:特别怕拍爱情戏 没什么恋爱经验 2018-04-15
  • 李亚鹏赌场玩牌高校辅导员晚点名新招 学生需传手持牙刷照片 2018-04-14
  • 开设赌场罪司法解释国家旅游局:十一长假首日民航旅客再创历史新高 2018-04-13
  • 赌场风云国语全集西媒列内马尔陷离队传闻5大原因:梅西+税务问题 2018-04-13
  • 澳门永利赌场A股困境:多市场抢食流动性 2018-04-12
  • 澳门赌场筹码韩国防部宣布萨德部署新址 不顾周边市民反对声 2018-04-12
  • 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|澳门网上赌场 www.chengtianzy.com.cn

     找回密码
     注册[Register]

    QQ登录

    只需一步,快速开始

    查看: 13676|回复: 280
    上一主题 下一主题

    澳门真人赌场官方网站: [Android 原创] 《你还在用叉叉助手?你可知道它背后的秘密?》我行我上,深入分析,欢迎交流

        [复制链接]
    跳转到指定楼层
    楼主
    发表于 2018-3-21 17:56 | 只看该作者 回帖奖励 |倒序浏览
    本帖最后由 df09 于 2018-3-21 18:11 编辑

    近日,看见有大佬在分析叉叉助手背后的秘密(http://www.chengtianzy.com.cn/thread-714265-1-1.html)。哇擦,我手机上就装了一个。正当我也准备和大家一样将叉叉拖进垃圾桶的时候,我迟疑了,作为一个爱逆向爱探索的大三狗,我必须探索真理。而且还有人质疑我不行,我无法分析。我表示我行。
    说罢,拿出安卓的抓包神器Packet Capture,清理叉叉助手的缓存,然后开始抓包,打开叉叉助手等个十几秒,停止抓包。
    emm....请求略多啊,不过其中我发现了一个6m的请求。联系之前大佬的文章,就是它了。

    果断命令行curl http://downapk.guopan.cn/2017-08-21/e29bd24ed9ff4a1a1d47979ea3a32314.apk -o output.apk
    然后当然是大名鼎鼎的apktool伺候拉

    解包后整体情况一览
    assets:

    lib:

    classes:(用JDGUI看的)

    ,apktool出错了吗,为啥解出来的东西感觉也是个apktool(还有一个aapt的so)。。。我特意用jdgui看了看我自己的apktool.jar

    ????(黑人问号),这部分简直就是apktool嘛。。不过我每个目录翻看了下,更加像一个阉割了的apktool。叉叉助手为啥会有apktool的代码???
    这样还是不好分析,还是先分析他的入口类吧。MultiApkHelper。这个类竟然没有被混淆,分析起来就easy了。
    这个函数最长了,我就先从他入手吧
    [Java] 纯文本查看 复制代码
    public String generateNewApk(JSONObject jSONObject, ProgressListener progressListener) {
            Object obj = null;
            getVersion();
            if (progressListener == null) {
                AnonymousClass1 anonymousClass1 = new ProgressListener(this) {
                    final /* synthetic */ MultiApkHelper a;
    
                    {
                        this.a = r1;
                    }
                };
            }
            JSONObject jSONObject2;
            try {
                String string = jSONObject.getString("package_name");
                String string2 = jSONObject.getString("target_name");
                this.mIsInjectSpeed = jSONObject.getBoolean("is_speed");
                this.mIsInjectAssist = jSONObject.getBoolean("is_assist");
                this.mIsInjectSplash = jSONObject.getBoolean("is_splash");
                this.mAssistUid = jSONObject.getInt("assist_uid");
                this.mAssistUrl = jSONObject.getString("assist_url");
                this.mHasLocalAssist = jSONObject.getBoolean("has_local_assist");
                if (jSONObject.has("new_package_name") || string.contains("xxAssistant") || string.contains("xxnoroot")) {
                    obj = 1;
                    this.mIsInjectSpeed = false;
                    this.mIsInjectAssist = false;
                    this.mIsInjectSplash = false;
                }
                try {
                    if (isAppInjected(string)) {
                        jSONObject2 = new JSONObject();
                        jSONObject2.put("is_multi_success", false);
                        jSONObject2.put("inject_speed_success", false);
                        jSONObject2.put("inject_assist_success", false);
                        jSONObject2.put("msg", "应用已经被多开过了");
                        jSONObject2.put("apk_path", "");
                        progressListener.onFinish(jSONObject2);
                        return null;
                    }
                    String string3;
                    if (obj != null) {
                        string3 = jSONObject.has("new_package_name") ? jSONObject.getString("new_package_name") : generateRandomPackageName();
                    } else {
                        string3 = string + FEATURE_STRING + System.currentTimeMillis();
                    }
                    String str = getTempWorkingPath() + string3 + File.separator + "package";
                    File file = new File(str + File.separator + "dist");
                    if (file.mkdirs() || file.isDirectory()) {
                        long currentTimeMillis = System.currentTimeMillis();
                        coma2.apk.q.a aVar = new coma2.apk.q.a();
                        progressListener.onProgressUpdate(0);
                        deleteGeneratedApk(new File(getTempWorkingPath()));
                        progressListener.onProgressUpdate(3);
                        d.a(TAG, "拷贝apk...");
                        String sourceApkPath = getSourceApkPath(string);
                        if (new File(sourceApkPath).exists()) {
                            String substring = sourceApkPath.substring(sourceApkPath.lastIndexOf(File.separator) + 1, sourceApkPath.length());
                            d.a(TAG, "fileName = " + substring);
                            d.a(TAG, "拷贝apk成功 cost " + (System.currentTimeMillis() - currentTimeMillis));
                            currentTimeMillis = System.currentTimeMillis();
                            progressListener.onProgressUpdate(15);
                            d.a(TAG, "开始解apk包...");
                            if (obj != null) {
                                f.a(sourceApkPath, str);
                            } else {
                                coma2.apk.d.a.a(new String[]{"d", sourceApkPath, "-o", str, "-s", "-f"});
                            }
                            d.a(TAG, "解apk包成功 cost " + (System.currentTimeMillis() - currentTimeMillis));
                            currentTimeMillis = System.currentTimeMillis();
                            progressListener.onProgressUpdate(32);
                            System.gc();
                            File file2 = new File(getTempWorkingPath() + "output_dir");
                            if (!file2.exists()) {
                                file2.mkdirs();
                            }
                            progressListener.onProgressUpdate(48);
                            d.a(TAG, "开始做坏事...");
                            aVar.a = sourceApkPath;
                            aVar.b = str + File.separator + "dist" + File.separator + substring;
                            aVar.c = getTempWorkingPath() + "output_dir" + File.separator + string3 + "_signed_unaligned.apk";
                            aVar.d = str;
                            aVar.e = getTempWorkingPath() + string3 + File.separator + "temp";
                            aVar.f = string;
                            aVar.g = string3;
                            aVar.h = string2;
                            new File(aVar.e).mkdirs();
                            if (obj == null) {
                                doDirtyHack(aVar);
                            } else {
                                coma2.apk.n.a aVar2 = new coma2.apk.n.a();
                                d.a(TAG, "parse axml : " + aVar2.a(aVar.d + File.separator + "AndroidManifest.xml"));
                                aVar2.d(aVar.g);
                                aVar2.c(aVar.h);
                                d.a(TAG, "after modify package name : " + aVar2.a());
                                d.a(TAG, "save axml : " + aVar2.b(aVar.d + File.separator + "AndroidManifest.xml"));
                            }
                            d.a(TAG, "坏事做完了 cost " + (System.currentTimeMillis() - currentTimeMillis));
                            progressListener.onProgressUpdate(56);
                            File file3 = new File(getTempWorkingPath() + string3 + File.separator + "temp.apk");
                            if (!file3.exists()) {
                                file3.createNewFile();
                            }
                            c.a(sourceApkPath, file3.getAbsolutePath());
                            progressListener.onProgressUpdate(76);
                            currentTimeMillis = System.currentTimeMillis();
                            d.a(TAG, "重新打包...");
                            if (obj != null) {
                                f.b(str, file3.getAbsolutePath());
                            } else {
                                coma2.apk.d.a.a(new String[]{"b", str, "-o", file3.getAbsolutePath()});
                            }
                            d.a(TAG, "打包完毕 cost " + (System.currentTimeMillis() - currentTimeMillis));
                            progressListener.onProgressUpdate(93);
                            long currentTimeMillis2 = System.currentTimeMillis();
                            d.a(TAG, "开始签名...");
                            k kVar = new k();
                            kVar.a("testkey");
                            kVar.a(file3.getAbsolutePath(), aVar.c);
                            d.a(TAG, "签名成功 cost " + (System.currentTimeMillis() - currentTimeMillis2));
                            progressListener.onProgressUpdate(99);
                            System.gc();
                            progressListener.onProgressUpdate(100);
                            jSONObject2 = new JSONObject();
                            jSONObject2.put("is_multi_success", true);
                            jSONObject2.put("inject_speed_success", this.mInjectSpeedSuccess);
                            jSONObject2.put("inject_assist_success", this.mInjectAssistSuccess);
                            jSONObject2.put("msg", "成功");
                            jSONObject2.put("apk_path", aVar.c);
                            progressListener.onFinish(jSONObject2);
                            return aVar.c;
                        }
                        throw new Exception("包名" + string + "对应的apk路径未能找到");
                    }
                    throw new Exception("create dist dir failed");
                } catch (Throwable th) {
                    th.printStackTrace();
                }
                return null;
            } catch (Exception e) {
                e.printStackTrace();
                jSONObject2 = new JSONObject();
                try {
                    jSONObject2.put("is_multi_success", false);
                    jSONObject2.put("inject_speed_success", false);
                    jSONObject2.put("inject_assist_success", false);
                    jSONObject2.put("msg", "应用已经被多开过了");
                    jSONObject2.put("apk_path", "");
                    progressListener.onFinish(jSONObject2);
                    return null;
                } catch (JSONException e2) {
                    e2.printStackTrace();
                    return null;
                }
            }
        }

    大家喜欢看可以自己看,没混淆简单的一比。我就说下重点吧。
    1、jSONObject.getString("package_name");获取了一个包名
    2、会检测包名是否符合某种正则表达式,符合就停止,否则继续
    3、根据包名通过PackageManager获取apk的存放路径
    4、然后通过coma2.apk.d.a.a(new String[]{"d", sourceApkPath, "-o", str, "-s", "-f"});解apk包,这里迟点再看看coma2.apk.d.a.a干了啥
    5、然后干坏事(这里迟点再分析)
    6、然后coma2.apk.d.a.a(new String[]{"b", str, "-o", file3.getAbsolutePath()});打包apk
    7、对apk包签名,实际上assets里面的keys目录下的东西就是签名的keystore文件

    我发现他日志提到的解包和打包都用到了coma2.apk.d.a.a这个类,我们接下来分析下这个类

    em....好吧,连人家的日志都没去掉,看了实锤了,这明明就是大名鼎鼎的apktool嘛。。。那之前的解包和打包也就明了了,其实就是利用apktool来对apk包进行反编译和回编。
    不过在此也有点佩服叉叉的开发人员,竟然把apktool移植到手机上了。想当年我想在手机上澳门网上赌场apk的时候还要root还要装busybox什么的很麻烦呢。。。他才2M的安装包就搞定了。。。之前用了一个工具装手机上要50M。。。

    好了,最后我们看回去第五步,看下究竟干了什么坏事,解开叉叉的背后的秘密。

    这么多行代码,实际上有用就就只有doDirtyHack和另外一个分支的代码了,其他可以忽略。简单先看else的分支吧。
    这个大概就是在改AndroidManifest.xml的内容,那是谁的AndroidManifest.xml的呢?看回前面我们就可以知道,这个实际上就是解包后的AndroidManifest.xml。跟进去看,看到了关键字
    label,package

    那看来就是在通过某种方式修改应用名称和应用包名了。

    好了,回到doDirtyHack??聪碌降子卸郿irty。
    [Java] 纯文本查看 复制代码
    private void doDirtyHack(coma2.apk.q.a aVar) {
                                            String str;
                                            d.a(TAG, "开始修改包名...");
                                            String a = com.apktool.util.f.a(aVar.d + File.separator + "AndroidManifest.xml", aVar.g, aVar.h);
                                            int i = 0;
                                            if (a.contains("@string/")) {
                                                str = a.split("/")[1];
                                            } else {
                                                i = 1;
                                                str = a;
                                            }
                                            d.a(TAG, "修改包名完毕");
                                            if (aVar.h != null && aVar.h.length() > 0) {
                                                d.a(TAG, "开始修改游戏名为" + aVar.h + "...");
                                                if (i == 0) {
                                                    com.apktool.util.f.b(aVar.d + File.separator + "res", "name", aVar.h, str);
                                                }
                                                d.a(TAG, "修改游戏名成功");
                                            }
                                            if (this.mIsInjectSpeed || this.mIsInjectAssist || this.mIsInjectScript) {
                                                d.a(TAG, "开始准备注入的资源");
                                                com.apktool.util.b.d(aVar);
                                                d.a(TAG, "准备完毕,开始注入manifest");
                                                com.apktool.util.b.a(aVar);
                                                d.a(TAG, "注入manifest完毕,开始注入资源");
                                                com.apktool.util.b.c(aVar);
                                                d.a(TAG, "注入资源完毕,开始注入dex");
                                                com.apktool.util.b.b(aVar);
                                                d.a(TAG, "注入dex完毕");
                                            }
                                            JSONObject jSONObject = new JSONObject();
                                            JSONObject jSONObject2 = new JSONObject();
                                            jSONObject.put("version", getVersion());
                                            jSONObject.put("xxPkgName", this.mContext.getPackageName());
                                            if (this.mIsInjectSpeed) {
                                                jSONObject2.put("so_name", "libxxspeedmanager-multi.so");
                                                jSONObject2.put("so_path", "app_speed/libxxspeedmanager-multi.so");
                                                jSONObject2.put("so_construct", "xx_speed_manager_init");
                                                jSONObject2.put("apk_name", "xxp_plugin_speed.apk");
                                                jSONObject2.put("apk_path", "app_speed/xxp_plugin_speed.apk");
                                                jSONObject2.put("apk_entry", "com.xx.speed.XXPlugin");
                                                jSONObject2.put("url", "");
                                                jSONObject.put("speed", jSONObject2);
                                            }
                                            jSONObject2 = getAssistJsonObj(aVar);
                                            if (this.mIsInjectAssist && jSONObject2 != null) {
                                                jSONObject.put("assist", jSONObject2);
                                            }
                                            File file = new File(aVar.d + File.separator + "assets");
                                            File file2 = new File(file, "multi_config.json");
                                            if (!file.exists()) {
                                                file.mkdirs();
                                            }
                                            if (!file2.exists()) {
                                                file2.createNewFile();
                                            }
                                            c.a(jSONObject.toString().getBytes(), file2.getAbsolutePath());
                                            d.a(TAG, "multi_config.json:\n" + jSONObject.toString());
                                        }

    emmm....我感觉看log就知道什么回事了..不过脚踏实地的我,不能被他欺骗,我们慢慢分析。
    修改包名大致看了下,好像一直在操作xml文件。emmm。。??蠢疵黄?,果然是改了AndroidManifest.xml的package字段,其实就是改包名拉,学过安卓的都知道。


    d.a(TAG, "开始准备注入的资源");
    com.apktool.util.b.d(aVar);
    看下都准备了啥?

    emmm....看来之前assets里面的classes.dex用上了,解压出来了。InjectActivity.dex也一并拷过去。
    我们手动解压看下里面是什么玩意

    额。这图标好熟悉啊,不就是我用过的叉叉的加速器吗。原来这个classes.dex就是一个加速器插件啊,还用到了substrate,估计就是用来hook时间的函数的。晚点可以分析下,看下能不能把加速器搞过来自己用。

    d.a(TAG, "准备完毕,开始注入manifest");
    com.apktool.util.b.a(aVar);
    这个注入manifest内容比较多,大致就是把刚刚解压的classes.dex里面的AndroidManifest.xml和前面用apktool解压出来的AndroidManifest.xml进行融合,融合成新的一个???

    d.a(TAG, "注入manifest完毕,开始注入资源");
    com.apktool.util.b.c(aVar);
    这个也是老长老长的,大致就是把刚刚解压的classes.dex里面的res文件和前面用apktool解压出来的res合并起来。

    d.a(TAG, "注入资源完毕,开始注入dex");
    com.apktool.util.b.b(aVar);
    这个就是直接把几个dex也合体成一个dex了

    ????叉叉助手这是要干嘛,为啥要将两个apk合体???额,想起之前分析到classes.dex是一个加速器相关的apk,那到这里,基本可以实锤了?。。。。?!

    叉叉干的坏事就是。。。。把一个加速器和一个apk合体???????(手动黑人问号???)
    emm....突然,我想起叉叉有一个功能.....

    我tm....分析半天,原来其实就是分析叉叉的这个功能???。。。为啥不早点想起来啊。。。。。

    结论就是:

    叉叉下载了这个apk,然后用动态加载apk的方法,加载这里面的代码,然后用他来多开游戏。。。

    点评

    其实我建议喷子去用苹果,完全没有后台下载。  发表于 2018-3-23 16:45
    估计是官方看到了,有点急,连忙注册个新号来科普~~  发表于 2018-3-22 15:07
    我不信楼主是新注册的萌新,赶紧交代你是哪位大佬的马甲  发表于 2018-3-22 13:37
    如果你不是在16號註冊的,我還真以為是來消毒的...膜拜高手  发表于 2018-3-21 18:33

    免费评分

    参与人数 173威望 +3 吾爱币 +177 热心值 +165 收起 理由
    zzp007 + 1 + 1 热心回复!
    wstcytx + 1 + 1 我很赞同!
    何必囚心于你 + 1 大佬们撕逼,好可怕
    Ganle-Yan + 1 + 1 用心讨论,共获提升!
    至尊舞帝 + 1 + 1 膜拜大神
    NanJiniu + 1 + 1 膜拜大佬学习了
    云月明 + 1 + 1 用心讨论,共获提升!
    52niqiangge + 1 + 1 膜拜大佬
    more138 + 1 注册时间暴露了你的行踪
    mingou + 1 + 1 然而……emmmmmm
    季谢尔 + 1 + 1 用心讨论,共获提升!
    zyc888 + 1 + 1 我很赞同!
    you + 1 + 1 我很赞同!
    WINNA123 + 1 + 1 我很赞同!
    52Shyc + 1 + 1 热心回复!
    lch8046878 + 1 + 1 认认真真看完,到最后。。。你是要笑死我然后继承我44码的鞋么,哈哈啊哈哈.
    sxm0531 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
    54556 + 1 + 1 我很赞同!
    touhoufans + 1 + 1 我很赞同!
    jgbbhgj + 1 + 1 6
    li5shuo3 + 1 + 1 我很赞同!
    masaike + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    okkid + 1 + 1 膜拜大佬!
    ssswsf + 1 + 1 热心回复!
    ren332427516 + 1 + 1 热心回复!
    593365053 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    FantasyOwl + 2 + 1 谢谢@Thanks!
    天上一朵云 + 1 谢谢@Thanks!
    xuemantian0304 + 1 用心讨论,共获提升!
    杀猪用牛刀 + 1 + 1 这个不是很明显的吗
    watle9527 + 1 + 1 哈哈哈
    wanmei + 3 + 1 热心回复!
    曼妥思 + 1 + 1 满分小品
    bxy123 + 1 + 1 热心回复!
    juejue + 1 + 1 热心回复!
    O丶ne丨柒夜彡 + 1 + 1 谢谢@Thanks!
    yangyan6011795 + 1 热心回复!
    huhuaa8 + 1 + 1 一顿操作猛如虎,查看战绩v5
    莫奇 + 1 + 1 谢谢@Thanks!
    zy1234 + 1 + 1 热心回复!
    ttxhxz + 1 + 1 我很赞同!
    weijinming1994 + 1 用心讨论,共获提升!
    it_xiaowu + 1 + 1 谢谢@Thanks!
    2842752363 + 1 用心讨论,共获提升!
    z1191530625 + 1 + 1 热心回复!
    HaoChen + 1 用心讨论,共获提升!
    woainba5474 + 1 + 1 666,楼主这波操作猛如虎
    mmmmme + 1 + 1 膜拜一下
    逝去de枫 + 1 也就是说实际上就是在自己运行的镜像上修改?
    jmkflb + 1 + 1 热心回复!
    修罗本灭世 + 1 + 1 我很赞同!
    荒唐梦 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    mzl123 + 1 + 1 用心讨论,共获提升!
    大象 + 1 + 1 给大佬端茶
    yu490025278 + 1 + 1 热心回复!
    9D8147 + 1 + 1 用心讨论,共获提升!
    zzzxcv + 1 + 1 我很赞同!
    骑着熊猫去看海 + 1 + 1 我很赞同!
    hxy310 + 1 + 1 大佬厉害?。。。?!
    ya010203 + 1 + 1 用心讨论,共获提升!
    timeday + 1 + 1 谢谢@Thanks!
    MW1314 + 1 + 1 大佬好样的,人家怼你就应该怼回去!
    爱上璇妹妹 + 1 + 1 热心回复!
    aichoupang + 1 + 1 实力打脸 佩服大佬
    航行天下 + 1 + 1 热心回复!
    sunbang521 + 1 + 1 谢谢@Thanks!
    我是神金币 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    momosys + 1 + 1 谢谢@Thanks!
    ん字拖 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    jiang3986633 + 1 + 1 我很赞同!
    jiaoshu + 1 + 1 热心回复!
    nvliu66 + 1 我很赞同!
    eec + 1 + 1 用心讨论,共获提升!
    Ftimes + 2 幸好你注册得早
    戏言19 + 1 + 1 可以可以
    qiyou + 1 热心回复!
    sos698398 + 1 + 1 用心讨论,共获提升!
    maybebaby99 + 1 + 1 谢谢@Thanks!
    1455018613 + 1 谢谢@Thanks!
    盘号202922138 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
    qq2173001 + 1 + 1 大佬牛批啊
    福特野马 + 1 + 1 用心讨论,共获提升!
    ★〓★〓★ + 1 + 1 大锅,火茶水
    qtfreet00 + 3 + 12 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
    cndy + 1 说了这么多,好像并没有什么用--??
    454592673 + 1 + 1 大锅,抽淹!
    上邪 + 1 + 1 谢谢@Thanks!
    Jacket + 1 + 1 我很赞同!
    justdoitnow + 1 + 1 用心讨论,共获提升!
    March + 1 + 1 热心回复!
    悠悠手游 + 1 + 1 用心讨论,共获提升!
    lengka + 1 + 1 热心回复!
    Aries15123 + 1 + 1 给新来的大佬点个赞
    倾听雨落 + 1 用心讨论,共获提升!
    qw2196833 + 2 + 1 这个打脸,666
    过来过来 + 1 + 1 用心讨论,共获提升!
    拂晓 + 1 + 1 用心讨论,共获提升!
    虚无空幻 + 2 + 1 每天都在看技术控来回打脸 比看电影还有趣
    snccwt + 1 + 1 谢谢@Thanks!
    ql1125 + 1 既然没有啥大问题 大佬能不能破解一波??

    查看全部评分

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    受到警告 推荐
    发表于 2018-3-21 18:54 | 只看该作者
    大苏打实打实的

    免费评分

    参与人数 36吾爱币 -39 收起 理由
    fan_xu + 1 给你一分回血吧,下次不要搞事情了
    2050076189 -1 用心讨论,共获提升!
    really -1 此为违规行为,请遵守论坛版规!
    zhouvip666 -1 广告贴,请遵守论坛版规!
    羊之心羽 -1 这样灌水活不了多久!
    Hibiya + 1 太惨
    FantasyOwl -1 用心讨论,共获提升!
    ℡LOVE -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    成成l -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    逍遥一仙 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    莫奇 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    凡华 + 1 吓人,回点血
    何故 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    解破吾爱 + 1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    源木其棋 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    小白峰峰 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    13824869398 + 1 给你回点血吧,下次不要这样回复了
    卩丶雨夜灬 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    q505870719 + 1 此为违规行为,请遵守论坛版规!
    w731883875 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    candyl6 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    l7518597 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    moda -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    丶丿後宫 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    by_aka -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    FS丶街头篮球 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    123-木头人 -1 此为违规行为,请遵守论坛版规!
    首席鉴淫师 -1 此为违规行为,请遵守论坛版规!
    小俊的风潇 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    di7gan -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    全能控 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    喵帕斯 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    len -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
    Godfather.Cr -16 请勿灌水,提高回帖质量是每位会员应尽的义务!
    msoayu56 -1 --------
    shakeai -1 请勿灌水,提高回帖质量是每位会员应尽的义务!

    查看全部评分

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    推荐
    发表于 2018-3-24 10:45 | 只看该作者
    虽然你做的事情没问题。但你没权利说别人学艺不精就不能发帖?
    而且他那帖子也没说错什么东西,也不知道你在跳脚什么。

    免费评分

    参与人数 1吾爱币 +1 收起 理由
    未知的事物 + 1 虽然中肯,但是原po那个帖子有点骇人听闻的味道了啊,结论下的草率了,防微.

    查看全部评分

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    推荐
    发表于 2018-3-21 18:01 来自手机 | 只看该作者
    1,偷偷后台下载东西就是流氓行为。2,你们没办法担保以后偷偷下载的东西是不是没有安全问题的。把root权限给你们,你们就应该什么都公开。

    免费评分

    参与人数 1吾爱币 +1 热心值 +1 收起 理由
    ljscx_001 + 1 + 1 我很赞同!

    查看全部评分

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    推荐
    发表于 2018-3-21 19:23 来自手机 | 只看该作者
    他们把我们说的偷偷后台下载这种行为称之为静默下载,还自豪的说是一种微创新呢

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    推荐
    发表于 2018-3-21 18:14 | 只看该作者
    mumu324 发表于 2018-3-21 18:01
    1,偷偷后台下载东西就是流氓行为。2,你们没办法担保以后偷偷下载的东西是不是没有安全问题的。把root权限 ...

    笑不动 自己去看看腾讯  支付宝  不都是后台下载  下载完成再告诉你  不懂技术的不要乱说

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    推荐
    发表于 2018-3-21 17:59 来自手机 | 只看该作者
    本帖最后由 mumu324 于 2018-3-21 18:02 编辑

    竟然果然还是来了。

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    推荐
    发表于 2018-3-21 18:13 来自手机 | 只看该作者
    其实发帖的那位楼主应该是为大家着想,毕竟叉叉的确是偷偷下载东西。不过真相大白就好了。感谢两位大神,一位大神为大家着想,另一位技术大神,感谢他分析清楚了叉叉助手。不过叉叉助手偷偷下载是否可以改善?又被腾讯杀了可能以后还会有误会。

    免费评分

    参与人数 1吾爱币 +1 热心值 +1 收起 理由
    610100 + 1 + 1 我很赞同!

    查看全部评分

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    9#
    发表于 2018-3-21 18:05 | 只看该作者
    墙都不服就服你!

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    10#
     楼主| 发表于 2018-3-21 18:08 | 只看该作者 |楼主
    mumu324 发表于 2018-3-21 18:01
    1,偷偷后台下载东西就是流氓行为。2,你们没办法担保以后偷偷下载的东西是不是没有安全问题的。把root权限 ...

    你还给叉叉root权限的呀,我都不给叉叉root权限的,电脑激活就用了,这样安全放心

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    11#
    发表于 2018-3-21 18:09 | 只看该作者
    插件化而已,叉叉的多开是最垃圾  最原始的版本的  没有研究的意义  再说现在很多SDK都是动态加载APK的  你分析的很对

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    12#
    发表于 2018-3-21 18:10 | 只看该作者
    6666666666,真相大白??!技术很牛,真正的剖析

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    13#
    发表于 2018-3-21 18:20 | 只看该作者
    学习了谢谢大佬的警示

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;

    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

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

    本版积分规则


    免责声明:
    吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

    Mail To:Service@www.chengtianzy.com.cn

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

    RSS订阅|手机版|小黑屋|联系我们|澳门网上赌场 ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

    GMT+8, 2018-3-29 09:57

    Powered by Discuz!

    © 2001-2017 Comsenz Inc.

    快速回复 澳门网上赌场 返回列表