Thread Wie funktioniert diese JAPH-Obfuscation? (4 answers)
Opened by KeinGast at 2008-10-26 13:46

moritz
 2008-10-26 15:04
#115758 #115758
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
KeinGast+2008-10-26 12:46:41--
Code (perl): (dl )
`$=`;


$= ist eine spezielle Variable, die per Default den Wert 60 enthält. `$=` probiert also, das Kommando mit dem namen 60 ausführen. Was fehlschlägt. Also werden die Fehlervariablen $! und %! gesetzt. (Siehe perlvar).

Quote
Code (perl): (dl )
$_=\%!;


Der Variablen $_ wird eine Referenz auf %! zugewiesen.

Quote
Code (perl): (dl )
($_)=/(.)/;


Der Wert in $_ (dessen String-Representation mit HASH( anfängt) wird gegen die regex (.) gemacht, $1 wird in $_ gespeichert. Also enhält $_ jetzt den Wert "H".

Quote
Code (perl): (dl )
$==++$|;


$| wird um eins erhöht (auf 1), das Ergebnis in $= gespeichert.

Quote
Code (perl): (dl )
1
2
($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
$!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),


Hier werden alle möglichen Buchstaben der in $! gespeicherten Fehlermeldung extrahiert und in allen möglichen obskuren Variablen gespeichert. Wenn dich ihre genauen Werte interessieren, lass sie dir einfach ausgeben.

Quote
Code (perl): (dl )
1
2
3
4
5
$=++;
$.++;
$.++;
$_++;
$_++;


selbsterklärend, hoffe ich.

Quote
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);
# hier werden obskure Variablen zu verschiedenen Strings kombiniert
# und in $_, $\ und $, gespeichert.
$,++;
$,++;
$^|=$";
# $^ enthält per default STDOUT_TOP. das wird mit dem Wert von $" bit-wise
# per OR verknüpft.

`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`
# hier wird "echo Just another Perl hacker." ausgeführt


Mir ist das jetzt zu viel Arbeit, genau nachzuvollziehen welcher Wert in welcher obskuren Variable steht, aber die allgemeine Idee ist, sich aus der Fehlermeldung die nötigen Buchtstaben zu holen, sie in diversen Variablen abzuspeichern und wieder zu kombinieren.

View full thread Wie funktioniert diese JAPH-Obfuscation?