2017-06-12 1 views
0

OK, also mache ich diese Wargame-Herausforderung und ich bin ziemlich ahnungslos über HTML und JS. ich diese Funktion im Quellcode gefundenVersuchen, diese Funktion in Javascript von einer Website Quellcode zu verstehen

Angabe „Flagge ist:“

und dann ein Haufen Kauderwelsch. Ich gehe davon aus, dass diese Funktion in dieser langen Zeichenfolge sinnvoll sein soll, aber ich kann nicht verstehen, wie sie es ausführen soll oder wie sie diese Funktion unabhängig ausführen soll (wenn sie überhaupt benötigt wird). Ich weiß, dass es nicht wirklich schwer sein soll.

dies ist die Funktion:

function r(){for(var r=0,e=0,a="",l=0;l<n.length;l++)if(n[l].toLowerCase()!=n[l]&&(r+=1),8==++e){if(!t)return;a+=String.fromCharCode(r),r=0,e=0}else r<<=1;return a}var e=!1,t=!1,a=setInterval(function(){e&&(t=!0,alert("Your flag is: "+r()),clearInterval(a));t=!1},1e3),n="xVJvyNQdcLEqIUwenRNdnawBhSNqcVABvERRGlQOiVKlnlwJdINtSRfrxZJnYDsntIzKBOFQzMTBXioIbKGkDJZYoTFWqCzSbWIKsvPxlHaPHEVRiTIiltXqtKEjwzkDkGHEbnMPnFNrnWyLcOlBOVSWtOZxmjdIhRFXugEotQRmyHwZpGnKSDSRaZCrniYgcQVkiFaIgFScWAevgWDkQZALgSWwQDFkkDWlaYOKkDcRGUNSxJlLlRnnfROzNFGSrNcEECFDxZEVeAeVwSEQvxMOxBRGLKlS"; 

and this is the whole web page:

bitte mich selbst :) wird Sie suchen in

+0

Versuchen Sie, die Zeile mit Semikolon zu brechen und von dort aus zu gehen. Nicht sicher, das ist eine gute Frage für SO. – TankorSmash

+0

Normalerweise ist es eine selbstgemachte Verschlüsselung + Chiffretext + Eval. Bewerten Sie Schritt für Schritt auf der Konsole, setzen Sie eine 'Debugger;' Anweisung hier und da und gehen Sie durch ... http://jsbeautifier.org/ hilft auch. –

+0

Habe es nicht versucht, aber ändere 'return a' -> in ->' console.log (a) 'wird dir wahrscheinlich geben, was du willst – epascarello

Antwort

0

Wenn erweitert die minimierte Funktion wie folgt aussieht ...

function r() { 
    for (var r = 0, e = 0, a = '', l = 0; l < n.length; l++) if (n[l].toLowerCase() != n[l] && (r += 1), 8 == ++e) { 
     if (!t) return; 
     a += String.fromCharCode(r), 
     r = 0, 
     e = 0 
    } else r <<= 1; 
    return a 
} 
var e = !1, 
t = !1, 
a = setInterval(function() { 
    e && (t = !0, alert('Your flag is: ' + r()), clearInterval(a)); 
    t = !1 
}, 1000), 
n = 'xVJvyNQdcLEqIUwen...etc...'; 

Dies geht eigenen Variablen und Funktionen geben nützliche, beschreibende Namen, die Bedeutung zu zeigen.

2

Der js Code Das bedeutet, den eigentlichen Code minimierte/komprimierten Code helfen helfen wird konvertiert, indem alle reellen Variablennamen durch (a, b, c, ...) ersetzt werden, was es schwierig macht, für andere zu kopieren und sie schneller auf der Webseite zu laden.

Verwandte Themen