• zzcat

    本来是要发GH的,但考虑到一些问题,所以决定还是在这里发了大家可以帮忙发到Github上(记得带上本帖子链接)
    还有本文附件中evel解密工具理论可解所有js evel壳

    MagicBlock/MacCms10 去广告教程

    问题背景

    解密 MacCms10 的 player.js 后,发现了一段判断逻辑:

    if(!/(Win|Mac)/i.test(navigator.platform)){
        var a=document.createElement('script');
        a.type='text/javascript';
        a.async=true;
        a.charset='utf-8';
        a.src='//union.maccms.la/html/top10.js'+'?r='+this.GetDate('yyyyMMdd');
        var b=document.getElementsByTagName('script')[0];
        b.parentNode.insertBefore(a,b)
    }

    该脚本仅在非 Windows/Mac 系统(如 Linux、Android、iOS)上加载,从而避免开发者在桌面端测试时发现。
    获取到的 top10.js 内容如下:

    if (MacPlayer.Status) {} else {$("#install").attr('src', '//union.maccms.la/html/' + MacPlayer.PlayFrom + '.html')}

    这就是你网站弹广告的根本原因。


    解决方案

    1. 替换 player.js

    用本仓库中的 player.js 覆盖 /static/js/player.js

    2. 替换 playerconfig.js 并补充资源文件(以防万一)

    原始 playerconfig.js 存在极其简单的编码混淆,解密后的配置如下:

    var MacPlayerConfig = {};
    //参数开始
    MacPlayerConfig = {
        "width": "100%",
        "height": "100%",
        "widthmob": "100%",
        "heightmob": "100%",
        "widthpop": "0",
        "heightpop": "600",
        "second": "5",
        "prestrain": "//union.maccms.la/html/prestrain.html",
        "buffer": "//union.maccms.la/html/loading.html",
        "parse": "",
        "autofull": "0",
        "showtop": "1",
        "showlist": "1",
        "flag": "0",
        "colors": "000000,F6F6F6,F6F6F6,333333,666666,FFFFF,FF0000,2c2c2c,ffffff,a3a3a3,2c2c2c,adadad,adadad,48486c,fcfcfc"
    };
    //参数结束
    //缓存开始
    MacPlayerConfig.player_list = {
        "dplayer": {
            "show": "DPlayer-H5播放器",
            "des": "dplayer.js.org",
            "ps": "0",
            "parse": ""
        },
        "videojs": {
            "show": "videojs-H5播放器",
            "des": "videojs.com",
            "ps": "0",
            "parse": ""
        },
        "iva": {
            "show": "iva-H5播放器",
            "des": "videojj.com",
            "ps": "0",
            "parse": ""
        },
        "iframe": {
            "show": "iframe外链数据",
            "des": "iframe外链数据",
            "ps": "0",
            "parse": ""
        },
        "link": {
            "show": "外链数据",
            "des": "外部网站播放链接",
            "ps": "0",
            "parse": ""
        },
        "swf": {
            "show": "Flash文件",
            "des": "swf",
            "ps": "0",
            "parse": ""
        },
        "flv": {
            "show": "Flv文件",
            "des": "flv",
            "ps": "0",
            "parse": ""
        }
    };
    MacPlayerConfig.downer_list = {
        "http": {
            "show": "http下载",
            "des": "des提示信息",
            "ps": "0",
            "parse": ""
        },
        "xunlei": {
            "show": "xunlei下载",
            "des": "des提示信息",
            "ps": "0",
            "parse": ""
        }
    };
    MacPlayerConfig.server_list = {
        "server1": {
            "show": "测试服务器1",
            "des": "des提示信息1"
        }
    };
    //缓存结束

    操作步骤:

    • 将本仓库中的 prestrain.html 和 loading.html 放入 /static 目录苹果cms内置有加载页
    • 用本仓库中的 playerconfig.js 替换原文件

    完成以上替换后,广告即可清除。

    主楼
  • zzcat

    附件好像没上传上,补上x

    #1

发表回复

登录后回复