Wieder mal den Quellcode verstecken
Ed X
- software
Hallo allerseits,
da ist mir doch letztens ein kleines Progrämmchen in die Finger gefallen, das vorgibt den quellcode zu verschlüsseln und zu finden ist es unter:
Das Programm zerschiest offensichtlich den quellcode und stellt ihn dann mit einer javascript-fuction wieder her. Die verschlüsselung wird über eine einfach verschiebung um 3 Zeichen erreicht.(Nur zur Info: das hat Caesar schon so gemacht, auch mit genau 3 Zeichen)
Für eine 24 kb Webseite, braucht mein 466 Celeron satte 7 sec bis die Seite dargestellt wird. Dan der Benutzung der FormCharCode-methode ist das Programm nicht abwärtskompatibel. Ein Browser, der die Seiten nicht darstellen kann, wird nicht abgefangen.
Fazit: Finger weg, spart euch 14.99$
Bye Ed X
Hey Ed X,
wer seine Webseiten unbedingt verschluessen muss, kann sich solch ein Programm auch grad selbst schreiben. Steckt ja wohl nicht so sehr viel dahinter, eine HTML-Seite dynamisch zu erzeugen ...
Nur auf diese Idee muss man mal kommen ...
Ach ja, wenn Du Dir diese Seite mit dem Netscape ansiehst, dann bekommst du den HTML-Code trotzdem, weil der das herausschreibt, was nach dem Skript-ausfuehren dasteht - der IE gibt das aus, was er selbst bekommen hat.
Tja, hat alles seinen Vor- und Nachteile ...
Gruss aus London,
Chris
hi.
faszinierendes programm.. irgendwie ne coole idee ;o)
Das Programm zerschiest offensichtlich den quellcode und stellt ihn dann mit einer javascript-fuction wieder her. Die verschlüsselung wird über eine einfach verschiebung um 3 Zeichen erreicht.(Nur zur Info: das hat Caesar schon so gemacht, auch mit genau 3 Zeichen)
hey, du hast recht. demnach heißt "eodeodeod" --> blablabla ;o)
ne frage: kannst du mir mal (annähernd) erklären, was das script nun genau macht? ich kenn mich zwar mit javscript aus, aber irgendwie werd ich aus diesem script absolut nicht schlau.. (ich hoffe, dass es nicht dreist ist, dich danach zu fragen)
<script>
function Carbosoft( s )
{ var sRet=""; for(j=0; j< s.length; j++ ){ var n= s.charCodeAt(j); if (n>=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }
var sJsCmds ="" +
"?vfulsw#odqjxdjh@mdydvfulswAixqfwlrq#folfn+,~#zlqgrz1rshq+*qhx1kwpo*/*qhx*/*zlgwk@533/khljkw@533*,>zlqgrz1rshq+*qhx1kwpo*/*qhx5*/*zlgwk@533/khljkw@533*,>#€?2vfulswA?d#kuhi@%mdydvfulsw=folfn+,%A)&;557>?2dA?wdeoh#zlgwk@%433(%#erughu@%3%#fhoosdgglqj@%3%#fhoovsdflqj@%3%#ejfroru@%&IIIIII%A?wuA##?wg#zlgwk@%48(%#fodvv@%pdlq%#ydoljq@%wrs%Aeodeodeod##?2wgA##?wg#zlgwk@%4%#ejfroru@%&333333%A?lpj#vuf@%2blpdjhv24{41jli%#zlgwk@%5%A?2wgA##?wg#ejfroru@%&IIIIII%Aeodeodeod##?2wgA##?wg#ejfroru@%&333333%#zlgwk@%4%A?lpj#vuf@%2blpdjhv24{41jli%#zlgwk@%5%A?2wgA##?wg#zlgwk@%53(%#fodvv@%pdlq%#ydoljq@%wrs%A##eodeodeod##?2wgA?2wuA?2wdeohA?irqw#froru@%&33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfuswhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22zzz1fduervriw1frp%AKWPO#Hqfusw#y413?2dA1?2irqwA?2vpdooA?2sA" +
"";
var s= Carbosoft( sJsCmds);
document.write (s);
</script>
ist es dann auch theoretisch möglich, alles um 3 zeichen nach hinten zu verschieben?
und was meintest du mit caesar? sorry, hab da wahrscheinlich in der schule nicht ganz genau zugehört.. soll ja mal vorkommen.
wär cool, wenn du mir mal so ein bisschen die funktion beschreibst, interessiert mich wirklich (auch, wenn es in netscape nicht funktioniert).
so far,
wizz99.
Hallo wizz99,
dann wollen wir Dir mal das Skript erklaeren ...
function Carbosoft( s )
Carbosoft ist die Entschluesselungs-Funktion. Diese bekommt den Parameter "s". Dort steht der zu entschlusselnde Text drin.
{ var sRet="";
sRet ist die Rueckgabe-Variable. Dort wird reingeschrieben.
for(j=0; j< s.length; j++ )
und zwar in einer Schleife, die jedes Zeichen sooft durchlaufen wird, wie "s" lang ist.
»»{ var n= s.charCodeAt(j);
jedesmal wird in "n" der charCode des Buchstaben der in "s" an Position "j" steht gespeichert (ist dieser Satz nicht herrlich ;-)
if (n>=8364) {n = 128;}
Sollte "n" ein unzulaessiges Zeichen enthalten, wird n auf 128 gesetzt. (Ich weiss nicht genau was > 8364 los ist ...
»»sRet += String.fromCharCode( n - 3 );
Es wird ein Zeichen an sRet angehaengt und zwar das Zeichen mit dem Charcode "n-3". Das ist die Verrueckung um 3 Zeichen.
»»} return( sRet ); }
Wenn die Schleife durch ist, dann wird die komplette Variable sRet zurueckgegeben.
var sJsCmds ="" +
Hier wird die Variable sJsCmds (vermutlich secureJavaScriptCommands) erzeugt und ...
"?vfulsw#o [...] dooA?2sA" + "";
... der verschluesselte Code angehaengt. In dieser Variablen ist die Seite gespeichert.
var s= Carbosoft( sJsCmds);
Was die Funktion Carbosoft macht wissen wir ja von oben. In "s" steht nun der entschluesselte HTML-Code.
document.write (s);
dieser Befehl scheibt den entschluesselten Code ins HTML-Dokument
ist es dann auch theoretisch möglich, alles um 3 zeichen
nach hinten zu verschieben?
Wie Du siehst: Ja!
und was meintest du mit caesar?
Caesar hat seine geheimen Botschaften auf genau diese Art und Weise verschluesselt. Damals war das noch relativ sicher. Heutzutage ist es ein Witz.
sorry, hab da wahrscheinlich in der schule
nicht ganz genau zugehört.. soll ja mal vorkommen.
Offensichtlich.
wär cool, wenn du mir mal so ein bisschen die
funktion beschreibst, interessiert mich
wirklich
siehe oben. Kleiner Tipp: Kauf Dir mal ein JavaScipt-Buch! Schwer ist das Skript wirklich nicht.
(auch, wenn es in netscape nicht funktioniert).
Es funktioniert dort schon, hat nur keine Wirkung, weil der HTML-Code nicht verschluesselt wird!
Das Skript ist auch nur der Entschluessler. Zum Verschluesseln muesste man es etwas umschreiben (ca. 2 bis 5 Zeichen ;-). Es ist uebrigens fuer jemanden der an den HTML-Code will gar kein Problem das Skript zu speichern und etwas zu modifizieren so dass es den HTML-Code anzeigt. Kleiner Tipp zum Selbstversuch: Mach aus dem "document.write" einfach mal ein "alert" ... Schwups, schon hast Du den Code ...
Cheers,
Chris