• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

php code in variable

TecEye

New member
Warum geht das nicht?
echo $code_plain = "<?php echo \'Hallo Welt\';?>";

es kommt kein fehler aber es steht auch nix da. Ich hätte das ding gern als plaintext um damit weiterarbeiten zu können, bzw zu encodieren
 
Zuletzt bearbeitet:
Den Kram hast du schon in der Variable stehen. Nur was mit echo ausgegeben werden soll, sollte gültiges HTML sein, sonst kann es sein daß nichts gezeigt wird. Schau in den Quellcode der im Browser ankommt, dort wirst du was sehen.

Ich frag mich nur, wozu soll das gut sein?
 
ich möchte php-code mit einer kombination aus mehreren encodern (base64,hex,etc) und ersetzen verschiedener zeichen in schleifen usw usw codieren.
es muss mir also möglich sein ein komplettes PHP-Skript in eine Varable zu packen, wie kann ich das anstellen?
 
und dann? du kannst natürlich sowas machen:
PHP:
$php_code = "echo 'hallo';";

aber was hast du nun davon? jetzt kannste es per eval ausführen (eval = evil, also eigentlich nicht zu empfehlen) wieso nicht mit closures arbeiten?

Lg Kasalop
 
und dann? du kannst natürlich sowas machen:
PHP:
$php_code = "echo 'hallo';";

aber was hast du nun davon? jetzt kannste es per eval ausführen (eval = evil, also eigentlich nicht zu empfehlen) wieso nicht mit closures arbeiten?

Lg Kasalop

kenne closures nicht, was kann das, werd aus der manual nicht schlau
 
ich will ja nicht nur einen befehl in die variable packen sondern ein ganzes script zB:
PHP:
<?php
function umlaute($string,$dir = "down"){
	if($dir == "down"){
		$upas = Array("ä" => "ae", "ü" => "ue", "ö" => "oe", "Ä" => "Ae", "Ü" => "Ue", "Ö" => "Oe");
	}elseif($dir == "up"){
		$upas = Array("ae" => "ä", "ue" => "ü", "oe" => "ö", "Ae" => "Ä", "Ue" => "Ü", "Oe" => "Ö");
	}
	return strtr($string, $upas);
}
?>
Hier html zb und etwas javascript
<?php echo "und wieder etwas php";?>
:( das will ich komplett so in eine variable packen
 
ich will ja nicht nur einen befehl in die variable packen sondern ein ganzes script zB:
PHP:
<?php
function umlaute($string,$dir = "down"){
	if($dir == "down"){
		$upas = Array("ä" => "ae", "ü" => "ue", "ö" => "oe", "Ä" => "Ae", "Ü" => "Ue", "Ö" => "Oe");
	}elseif($dir == "up"){
		$upas = Array("ae" => "ä", "ue" => "ü", "oe" => "ö", "Ae" => "Ä", "Ue" => "Ü", "Oe" => "Ö");
	}
	return strtr($string, $upas);
}
?>
Hier html zb und etwas javascript
<?php echo "und wieder etwas php";?>
:( das will ich komplett so in eine variable packen

na meinetwegen... und dann?
 
ich möchte php-code mit einer kombination aus mehreren encodern (base64,hex,etc) und ersetzen verschiedener zeichen in schleifen usw usw codieren.
es muss mir also möglich sein ein komplettes PHP-Skript in eine Varable zu packen, wie kann ich das anstellen?

Vermute so was wie eine 'Selfmade-Verschlüsselung' ...

Edit: Mit dem Einzeiler (#7) hast du den kompletten Code in einer Variable.
 
Zuletzt bearbeitet:
Also hier ist der anfang des encoders:
PHP:
$code_plain 		= file_get_contents("encode_test.php");
$code_plain 		= str_replace("<?php", "", $code_plain);
$code_plain 		= str_replace("?>", "", $code_plain);
$code_plain			= htmlentities($code_plain);
echo $code_plain;
in der encode_test.php steht:
PHP:
<?php
echo "Link: <a href='#' class='mit'>test</a>";
?>
das wird dann so ausgegeben
Code:
echo "Link: <a href='#' class='mit'>test</a>";
dann encodiert und wieder decodiert und dann wirds mit eval() ausgeführt, link wird dargestellt, klappt wunderbar!


So jetzt änder ich die encode_test.php auf
PHP:
<?php
function getColor($color){ return $color; }
echo "Link: <a href='#' class='mit'>test</a>";
?>
Jetzt wird das ausgegeben:
Code:
function getColor($color){ return $color; } echo "Link: <a href='#' class='mit'>test</a>";
encodiert,decodiert,eval(), aber nix wird dargestellt, der link ist weg

EDIT es bricht sogar den Rest des skripts nach aufruf ab
 
Zuletzt bearbeitet:
über die Nötigkeit und Unnötigkeit diskutieren wir hier nicht ;) ich will es einfach machen, wäre schön wenn ihr mir helfen könntet
weil genau so einen obfuscator brauch ich und mir fehlt nicht mehr viel dann hab ich mein ziel erreicht ;) wäre euch sehr dankbar
 
Zuletzt bearbeitet:
Was wird denn ausgegeben nach deinem encodiert und decodiert, also ohne dem eval. Wenns richtig funktioniert müsste ja wieder
Code:
function getColor($color){ return $color; } echo "Link: <a href='#' class='mit'>test</a>";
ausgegeben werden.
 
Ohne eval() wird dann
Code:
echo "Link: test";
ausgegeben :/

und der Link funktioniert

wenn ich html_entity_decode() auch weglasse wird das angezeigt:

Code:
function getColor($color){ return $color; } echo "Link: <a href='#' class='mit'>test</a>";
also wie abgeschickt
 
Zuletzt bearbeitet:
über die Nötigkeit und Unnötigkeit diskutieren wir hier nicht ;) ich will es einfach machen, wäre schön wenn ihr mir helfen könntet

doch schon... da ich hoffe das du lernen willst und nicht nur stupides programmieren machst und dich auf dein bisheriges wissen beschränkst. Wenn man sowas machen will, dann nimmt man ein servermodul. Hier hast du dann auch wirklich die möglichkeit das deine dateien verschlüsselt sind und nicht nur unleserlich gemacht werden. Hatten wir neulich erst im forum. Die Rückumwandlung ist in der Regel ein witz. Also hat dein skript den tollen Vorteil, dass es den Skriptcode verschleiert (was sowieso nur relevant wird, wenn das php modul vom server ausfällt), allerdings kann man es recht schnell rückgängig machen, da das Skript ja immernoch funktionieren muss. Wenn du es dir selbst programmierst machst du das skript womöglich acuh noch langsamer, da dir das fachwissen fehlt, wie man äquivalente ausdrücke schafft, etc etc etc

Was willst du denn noch für Hilfe? lies den Thread. dort steht doch alles.

Lg Kasalop
 
Wenn dein PHP abbricht, gibt es einen Fehler - d.h. wenn du error_reporting auf E_ALL stellst, sollte da auch was im Browser stehen...
 
...Die Rückumwandlung ist in der Regel ein witz.

Wenn du das rückumwandeln kannst, häng ich ein Foto von dir an meine Wand ;)
PHP:
Q21JellqTTBORHgxRHgyRHg1Ni9WL1YvVllEeDFEeDJEeDU2L1YvVi9WTlRjeE56WXlZak0wTnpjRHgxRHgyRHg1Ni9WL1YvVk5qSXhObVl5WWpNME5EeDFEeDJEeDU2L1YvVi9WTUR4MUR4MkR4NTYvVi9WL1ZOaklEeDM1L1ZNbUl6TURKaU5tVUR4MUR4MkR4NTYvVi9WL1ZPVFpqTkRBeVpUWUR4MzUvVk5qVUR4MUR4MkR4NTYvVi9WL1ZNRElEeDJEeDU2L1YvVk5qTUR4MUR4MkR4NTYvVi9WL1ZaalpsTmpBeU5EWmxOalVEeDIxL1ZZak0wTnpjRHgxRHgyRHg1Ni9WL1YvVk5qSUR4MjEvVk1qUUR4MjEvVk9UWmtOamN5WkRNek56TUR4MjEvVk1UWmpOak1EeDFEeDJEeDU2L1YvVi9WTURJRHgyMS9WTWpNeU56SmtNellEeDFEeDJEeDU2L1YvVi9WTlRZeU56Z0R4MUR4MkR4NTYvVi9WL1ZNREl4Tm1Jek5EZGpOall5TURKaE16UUR4MjEvVll6WUR4RHg0RHg2My9WL1YvVk5qUUR4MUR4MkR4NTYvVi9WL1ZaVFl4TmpjRHgyMS9WTlRZRHgyMS9WTm1RRHgxRHgyRHg1Ni9WL1YvVk5UY3dNalFEeDIxL1ZOVGNEeDIxL1ZOR0l6TkRkbU5qVUR4MjEvVk1UY0R4MUR4MkR4NTYvVi9WL1ZNakF5WmpZRHgyRHg1Ni9WL1ZOak1EeDFEeDJEeDU2L1YvVi9WTlRZS1lqTmlNelFEeDIxL1ZaallEeER4NER4NjMvVi9WL1ZOekVEeDIxL1ZOakppTXpRRHgyMS9WTnpZRHgxRHgyRHg1Ni9WL1YvVk1qRUR4MUR4MkR4NTYvVi9WL1ZaakppTXpRRHgyMS9WWXpZRHgxRHgyRHg1Ni9WL1YvVk1qUUR4MjEvVk16Y0R4RHg0RHg2My9WL1YvVk5qUUR4MjEvVllqTTBOemNEeDFEeDJEeDU2L1YvVi9WTmpJRHgyMS9WTWpRRHgyMS9WT1Raa05qY3laRE16TnpNRHgyMS9WTVRaak5qTUR4MUR4MkR4NTYvVi9WL1ZNRElEeDIxL1ZNak15TnpKa016WUR4MUR4MkR4NTYvVi9WL1ZOVFl5TnpnRHgxRHgyRHg1Ni9WL1YvVk1ESXhObUl6TkRkak5qWXlNREpoTUR4MUR4MkR4NTYvVi9WL1ZJRHgxRHgyRHg1Ni9WL1YvVlpUWUR4MzUvVk5tTTBZak0wTkR4MUR4MkR4NTYvVi9WL1ZZRHgxRHgyRHg1Ni9WL1YvVk5UY3hOell5TURKbU5qZ0R4MUR4MkR4NTYvVi9WL1ZNellEeER4NER4NjMvVi9WL1ZOZ3BrTnpBeVlqTXlORHgxRHgyRHg1Ni9WL1YvVllEeDFEeDJEeDU2L1YvVi9WWXpabU5qTUR4MUR4MkR4NTYvVi9WL1ZOREl3TW1VRHgxRHgyRHg1Ni9WL1YvVk1qY0R4RHg0RHg2My9WL1YvVk56UUR4MjEvVk5UWXlOekF5WWpjRHgzNS9WTWpJRHgyMS9WWmpaak5tWUR4MUR4MkR4NTYvVi9WL1ZNelkwTWpneU56Y0R4RHg0RHg2My9WL1YvVk5tVTBNamRtTm1NRHgxRHgyRHg1Ni9WL1YvVlpqWXpORFFEeDIxL1ZOVFlEeDIxL1ZOakF5WlRabU5qa0R4MUR4MkR4NTYvVi9WL1ZORGN6Tm1VRHgxRHgyRHg1Ni9WL1YvVk5UY0R4MUR4MkR4NTYvVi9WL1ZOZ289
 
Zuletzt bearbeitet:
du hast dir den falschen Punkt aus meinem Post rausgesucht. denk mal über die anderen Nach. Ich habe nicht gesagt, dass ich einen code erraten kann. Eine Verschlüsslung basiert darauf, dass der Algorithmus bekannt ist, aber in seinem komplexen Mathematischen Modell keine Abkürzungen bestehen. Das was du machst ist eine Totsünde und nennt sich Security through obscurity. Außerdem vergisst du einen kleinen Punkt. An deine verschlüsselten codes komme ich nur ran, wenn dein servermodul abstürzt... irgendwo muss aber auch dein decodierer liegen. Wenn ich als Angreifer einen WebServer habe, der Dateien ausliefer, anstatt die zu interpretieren, dann werde ich nicht in eine datei schauen und mir denken "Oh nein, die ist verschlüsselt", sondern ich würde mir die serverstruktur ziehen und da muss auch irgendwo dein decoder sein und ich nehme einfach mal an (aufgrund deiner aussage, bzgl hex und ersetzungen, etc) das ich dann den code wohl sehr einfach und schnell wieder lesbarmachen kann... du musst die daten ja auch entschlüsseln und das in angemessener Zeit, sonst machst du ja künstlich deinen server langsam und das wirst du kaum wollen, also kann ich deinen decoder auch nutzen um an die infos zu kommen, die ich brauche um deine dateien zurückumzuwandeln.

Wenn du das rückumwandeln kannst, häng ich ein Foto von dir an meine Wand ;)
Das macht mir Angst... jmd will Bilder von mir bei sich aufhängen oO Der Code ist auch nicht vollständig, oder ist das die komplette datei verschlüsselt? (Der ganze code der Datei verschlüsselt?) Endet ein bisschen Komisch ^^

EDIT: Der Code ist extrem kurz, kann ich schonmal sagen und die "Verschlüsslung" unglaublich redundant.
EDIT2: Die richtige Schreibweise für hex ist btw 0xFF als beispiel und nicht nur xFF.

Lg Kasalop
 
Zuletzt bearbeitet:
Zurück
Oben