| Hello, 
 复制代码// ==UserScript==
// [url=home.php?mod=space&uid=467097]@Name[/url]              replace copy flash on Discuz
// @name:zh-CN        替换 Discuz 的复制 flash
// @description       Replace the "click here to copy" flash on Discuz
// @description:zh-CN 替换 Discuz 论坛的“点击此处复制”flash
// [url=home.php?mod=space&uid=1079000]@namespace[/url]         https://github.com/Testla
// [url=home.php?mod=space&uid=570682]@version[/url]           0.9.1
// [url=home.php?mod=space&uid=713796]@include[/url]           http*://www.tsdm.me/*
// @include           http*://www.lightnovel.cn/*
// [url=home.php?mod=space&uid=398273]@match[/url]             http://*.bathome.net/*
// [url=home.php?mod=space&uid=321866]@author[/url]            Testla
// @license           MIT License
// @compatible        firefox 57 + Greasemonkey4/Tampermonkey tested
// @compatible        chrome + Tampermonkey
// @grant             none
// ==/UserScript==
(function() {
    'use strict';
    // 非特权版本实现(兼容普通浏览器)
    var copyTextarea = document.createElement("textarea");
    copyTextarea.style.width = "20px";
    copyTextarea.style.height = "20px";
    copyTextarea.style.left = "99999px";
    copyTextarea.style.right = "99999px";
    copyTextarea.style.position = "absolute";
    // 复制并显示提示的函数
    function copyAndHint(text) {
        // 兼容 IE
        if (window.clipboardData) {
            window.clipboardData.clearData();
            window.clipboardData.setData("Text", text.toString());
            return;
        }
        
        // 清理文本中的特殊空白字符
        text = text
            .replaceAll(String.fromCharCode(12288), String.fromCharCode(32) + String.fromCharCode(32))
            .replaceAll(String.fromCharCode(0xA0), String.fromCharCode(32));
        
        // 创建临时文本域并复制
        document.body.appendChild(copyTextarea);
        copyTextarea.textContent = text;
        copyTextarea.select();
        
        try {
            var successful = document.execCommand('copy');
            var msg = successful ? 'succeeded' : 'failed';
            showPrompt(null, null, 'Copy ' + msg, 3000);
        } catch (err) {
            showPrompt(null, null, 'Oops, unable to copy', 3000);
            console.log(err);
        }
        
        document.body.removeChild(copyTextarea);
    }
    // 挂载到全局对象
    window.setCopy = function(text, hint) {
        copyAndHint(text);
    };
    
    window.copycode = function(code_div) {
        copyAndHint(code_div.textContent);
    };
})();
Base64 解码后的内容没啥问题,但是它的base64加密方式有几个特征符合 Trojan-Downloader 会用的哪种加密方式,建议您提交到 opentip.kaspersky.com 去反馈加白。
 |