PHPDeobfuscator
1.0.0
يحاول DeObfuscator عكس تقنيات التشويش الشائعة المطبقة على رمز مصدر PHP.
يتم تنفيذه في PHP بمساعدة PHP-Parser.
1 + 2 يتم استبدالها بـ 3base64_decodeeval$var1 = 10; $var2 = &$var1; $var2 = 20; يمكن تحديد $var1 يساوي 20 )يستخدم PHP DeObfuscator الملحن لإدارة تبعياته. تأكد من تثبيت الملحن أولاً.
قم بتشغيل composer install في جذر هذا المشروع لجلب التبعيات.
php index.php [-f filename] [-t] [-o]
required arguments:
-f The obfuscated PHP file
optional arguments:
-t Dump the output node tree for debugging
-o Output comments next to each expression with the original code
تتم طباعة الإخراج deobfusced إلى stdout.
index.php يخرج نصًا بسيطًا لصق رمز PHP في. تتم طباعة رمز deobfusced عند إرسال النموذج
<?php
eval ( base64_decode ( " ZWNobyAnSGVsbG8gV29ybGQnOwo= " )); <?php
eval /* PHPDeobfuscator eval output */ {
echo " Hello World " ;
}; <?
$ f = fopen ( __FILE__ , ' r ' );
$ str = fread ( $ f , 200 );
list (,, $ payload ) = explode ( ' ?> ' , $ str );
eval ( $ payload . '' );
?>
if ($doBadThing) {
evil_payload();
} <?php
$ f = fopen ( " /var/www/html/input.php " , ' r ' );
$ str = " <? n$ f = fopen(__FILE__, 'r'); n$ str = fread( $ f, 200); n list(,, $ payload) = explode('?>', $ str); n eval( $ payload . ''); n ?> n if ( $ doBadThing) { n evil_payload(); n } n" ;
list (, , $ payload ) = array ( 0 => " <? n$ f = fopen(__FILE__, 'r'); n$ str = fread( $ f, 200); n list(,, $ payload) = explode(' " , 1 => " ', $ str); n eval( $ payload . ''); n" , 2 => "n if ( $ doBadThing) { n evil_payload(); n } n" );
eval /* PHPDeobfuscator eval output */ {
if ( $ doBadThing ) {
evil_payload ();
}
};
?>
if ($doBadThing) {
evil_payload();
} <?php
$ x = ' y ' ;
$ $ x = 10 ;
echo $ y * 2 ; <?php
$ x = ' y ' ;
$ y = 10 ;
echo 20 ; <?php
goto label4;
label1:
func4 ();
exit ;
label2:
func3 ();
goto label1;
label3:
func2 ();
goto label2;
label4:
func1 ();
goto label3; <?php
func1 ();
func2 ();
func3 ();
func4 ();
exit ;