Wie nennt sich dieses PHP-Encoding?:
https://github.com/contra/TinyShell/.../tinyshell.phpCode:<?$_="";$_[+""]='';$_="$_"."";$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");?><?=${'_'.$_}['_'](${'_'.$_}['__']);?>
Wie erstellt man sowas am besten?
Druckbare Version
Wie nennt sich dieses PHP-Encoding?:
https://github.com/contra/TinyShell/.../tinyshell.phpCode:<?$_="";$_[+""]='';$_="$_"."";$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");?><?=${'_'.$_}['_'](${'_'.$_}['__']);?>
Wie erstellt man sowas am besten?
imho kein encoding sondern krasses obfuscaten von php code.. das ist halt extrem minimalistischer code der dazu obfuscated wurde damits möglich schwer lesbar ist.
Ist in meinen Augen jetzt nichts krass besonderes. ähnliches macht man oft auch mit js schadcode.
zum "wie?"... naja.. die scriptsprache beherrschen is ein anfang ;) das nutzt nur dinge aus die halt php so mit sich bringt.. wenn auch sehr krass.
grüße vom Handy
Hast du dazu vielleicht ein Beispiel oder gibt es schon ein fertiges script was php files in diese Form umwandelt?
Das ist ein "Sonderfall". Eigentlich spielt er nur mit der Verkettung von variablen variablennamen und verwurstelt es dabei "hübsch". Hat was von _Kunst_ und mir ist kein Tool bekannt, dass das so "schön" macht. Was ist der eigentliche Zweck deiner Anfrage? Es gibt sicher 1000 bessere Wege, code zu schützen.
Ich will auf diese Art gerne eine kleine php-shell machen die ich habe.
Das sind allerdings alles andere Arten von Obfuscation.
Dir wurde doch grade schon einmal erklärt das es einfach nur ne bestimmte Art und Weise ist wie der Quellcode erstellt wurde.
Dadurch das er eben so "besonders" ist, kannst du das nicht mit nem einfachen Programm oder so über nen normales PHP Script
laufen lassen..eben weil der Quellcode den du hier siehst Manuell erstellt wurde (gehe ich jedenfalls von aus).
Der Quelltext den du siehst nutzt einfach nur stinknormale PHP Funktionen und Möglichkeiten..da ist nichts besonderes dran außer das es
kewl ausschaut weil er da nur Sonderzeichen drine hat und keine Funktionsnamen usw.. (die dann aber über die URL mitgeliefert werden weil Shell und so).
Du wirst imho auch keinen normalen PHP Text so transformieren können.. einfach weil er dazu meiner Meinung nach
1) zu lang wäre
2) es eben kein Programm gibt was diese Umwandlung könnte
3) Der Autor des Scripts es sehr wahrscheinlich Händisch gescripted hat und das ganze ein bisschen aufwand war vom Manuell zusammenfrickeln.
Wenn du sowas ähnliches machen möchtest, würde ich dir empfehlen PHP zu lernen und dann einfach selbst solch ein Quellcode zu schreiben.
Weil so komplex ist der PHP Quellcode der tinyshell nun auch nicht.. beispielweise setzt er die Variable $_ mit dem Wert ""..schön verwirrend, bringt
aber letzenendes nix außer das du dann ne leere Variable namens $_ hast.. usw usf.. und so zieht es sich halt im Quelltext weiter wo er dann Schrittweise
Stück für Stück den Quellcode zusammensetzt bis er z.b eine exec(aufruf) machen kann.. ist nichts kompliziertes, nur so geschrieben damit es krass
verwirrend ausschaut für jemand der kaum PHP kann:)
Und weil du sagtest "das sind aber andere obfuscationen" -> natürlich sind sie das. Die Obfuscation der tinyshell ist imho garnicht auf andere (größere) Scripte anwendbar.. einfach deshalb weils eben grade jetzt bei der tinyshell so klappt, aber halt dann bei komplexeren Scripts nicht mehr.. jedenfalls wärs dann nicht so kurz, du müsstest zig dinge per url angeben usw usf.. IMHO. Ich halte die Tinyshell obfuscation nicht für sehr sinnvoll da ohnehin jeder der sich den Quelltext mal in ruhe anschaut checkt was er tut.. aber das haben halt die meisten obfuscationen so ansich.. das ist einfach nur dafür da, viel zeit zu stehlen bei der analyse / lesen des quelltexts.. die zeit die man benötigt um zu checken was da gemacht wird ist halt das worauf man aus ist. Das erreichst du auch mit anderen obfuscationen dann.
Zusätzlich muss man halt auch sagen das es zum großteil wahrscheinlich so gescripted wurde um möglichst klein zu sein, und das er deshalb wahrscheinlich solche Variablennamen usw nimmt.. daher brauch man sich da auch nicht wundern. Es gibt auch Typen die Javascripts in Tweet-Länge erstellen die dann tictactoe ablaufen lassen und was weiß ich noch alles.. da gibts ganze Wettbewerbe wer den kürzesten Code für eine bestimmte aufgabe erstellen kann (minispiel, counter usw usf..alles mögliche).
Es ga damals ne Website die hieß 140byt.es..da haben Leute alle möglichen Sourcecodes so krass minimalistisch geschrieben, das die komplett in 140 bytes gepasst haben.. und das gibts halt auch mit andern Script & Programmiersprachen.
https://twitter.com/140bytes?lang=de
Sowas in der Richtung ist das ganze halt..möglichst verwirrend + wenig code^^
Schneeflocken die von oben nach unten fallen sähen dann zb in dieser Art Code in js so aus:
Im Grunde ziemlich easy & einfach, aber halt nur wenn man sich mit Javascript befässt und weiß was die einzelnen Abschnitte tun.Code:setInterval('z=p.innerText=Array(i=i*2%99).join(" ")+"*\\n"+z',i=z=80)
p.s: sorry das ich wieder mit JS anfing :D
grüße
Hab hier noch etwas gefunden was sowas ähnliches macht (phpnonalpa oder phpnonalpha2 wählen):
https://hackvertor.co.uk/public#
Aber vielen Dank für die ausführliche Information dazu. ;)
Ich machs mal kurz:
Am Anfang erstetzt du alle Schreibweisen durch die jeweilige Kurzschreibweise (besonders if eignet sich sehr gut dazu, am besten mit PHP 7), dann baust du aus jeder Methode möglichst eine Rekursion (statt Schleifen) und letztlich nimmst du irgend ein absurdes encoding und jagst was du kannst durch eval() durch.
Das ganze wird dann in etwa so cool wie 13375p33k in den 90ern.
yay \o/