Qui n'est jamais tombé sur un source PHP obfusqué avec une éminente envie (ou besoin) de le reverse ?
Exemple de code obfusqué :
Là, je vous propose 2 tools :
- 1 obfuscateur (très complet)
- 1 désobfucateur (très performant)
Les 2 online, et free (ça va se soi).
Que demande le peuple ?
Commençons par l'obfuscateur : mobilefish (il n'a pas de nom mais on va l'appeler ainsi)
Voici les fonctions d'encodage qu'il propose :
De plus, une variable "loop" permet de définir à quelle nombre nous souhaitons que l'algo (ou les algos) bouclent (donc encodent encore plus incompréhensiblement).
Voici l'adresse du tool :
http://www.mobilefish.com/services/p...obfuscator.php
Maintenant, le désobfuscateur.
Pour cela, j'ai tout d'abord besoin d'un code source en PHP que je vais soigneusement reprendre du forum, je vais en prendre un de Sonn qui scan et analyse les ports d'une machine distante :
Désormais, je me rends à l'adresse du désobfuscateur online free : Sucuri
J'y rentre le source de Sonn obfusqué par MobileFish, qui donnait donc :
Puis, je scroll jusqu'en bas de page :
Et voilà !
Bon, il y a énormément de softs d'obfuscation et de désobfuscation, mais tous ne sont pas très performants, certains sont payants, etc.
Donc voilà de quoi vous satisfaire
Exemple de code obfusqué :
Là, je vous propose 2 tools :
- 1 obfuscateur (très complet)
- 1 désobfucateur (très performant)
Les 2 online, et free (ça va se soi).
Que demande le peuple ?
Commençons par l'obfuscateur : mobilefish (il n'a pas de nom mais on va l'appeler ainsi)
Voici les fonctions d'encodage qu'il propose :
De plus, une variable "loop" permet de définir à quelle nombre nous souhaitons que l'algo (ou les algos) bouclent (donc encodent encore plus incompréhensiblement).
Voici l'adresse du tool :
http://www.mobilefish.com/services/p...obfuscator.php
Maintenant, le désobfuscateur.
Pour cela, j'ai tout d'abord besoin d'un code source en PHP que je vais soigneusement reprendre du forum, je vais en prendre un de Sonn qui scan et analyse les ports d'une machine distante :
Code:
<?php namespace core_01; function analyse_ports($host=null,$min_port=null,$max_port=null,$print=null) { /* Version 1.0 Cette fonction "Analyse des Ports d'une Machine" possede 4 parametres: OGLIGATOIRE : le 1er est l'hote que l'on veut tester. FACULTATIF : le 2eme est le port minimun que l'on veut tester (par default 1) FACULTATIF : le 3eme est le port maximun que l'on veut tester (par default du 2eme parametre) (donc un seul port est tester) FACULTATIF : le 4eme définit l'affichage (par default rien ne seras affichés) (1 correspond aux ports fermes et 2 correspond aux ports ouverts et 3 à tous les ports ;) ) /!\ note : Si ni le 2eme, ni le 3eme paramètre est passer, alors tous les ports seront analysers! (malgrer ce que pourrais faire croire les phrases en haut ;) ) Exemple d'appel : analyse_port('127.0.0.1',80,120,2); afficheras les ports ouverts sur 127.0.0.1 allant de 80 à 120 ;) Elle retourne un array à deux dimensions $result['open_ports'][] et $result['close_ports'][] */ global $_VAR;global $_TEXT; $result=null; if($host!=null) { $host=htmlspecialchars($host); if(filter_var(gethostbyname($host), FILTER_VALIDATE_IP)) { if($min_port==null&&$max_port==null) { $min_port=1; $max_port=65536; } if(is_numeric($min_port)&&$min_port>=1&&$min_port<=65536) { $min_port=intval($min_port); if($max_port==null) { $max_port=$min_port; } if(is_numeric($max_port)&&$max_port>=1&&$max_port<=65536&&$max_port>=$min_port) { $max_port=intval($max_port); if($print==null||$print==1||$print==2||$print==3) { for($min_port=$min_port;$min_port<=$max_port;$min_port++) { if (@fsockopen($host,$min_port)) { $result['open_port'][]=$min_port; } else { $result['close_port'][]=$min_port; } } if($print==1) { foreach($result['close_port'] as $key=>$value) { echo 'port ',$value,' is close at ',$host,'<br />'; } } elseif($print==2) { foreach($result['open_port'] as $key=>$value) { echo 'port ',$value,' is open at ',$host,'<br />'; } } elseif($print==3) { $test_1=array_flip($result['close_port']); foreach($test_1 as $key=>$value) { $test_1[$key]='close'; } $test_2=array_flip($result['open_port']); foreach($test_2 as $key=>$value) { $test_2[$key]='open'; } $test=$test_1+$test_2; ksort($test); foreach($test as $key=>$value) { echo 'port ',$key,' is ',$value,' at ',$host,'<br />'; } } } else { echo 'error in function analyse_port : false parameter print!'; return false; } } else { echo 'error in function analyse_port : false parameter max_port!'; return false; } } else { echo 'error in function analyse_port : false parameter min_port!'; return false; } } else { echo 'error in function analyse_port : false host!'; return false; } } else { echo 'error in function analyse_port : false parameter host!'; return false; } return $result; }
J'y rentre le source de Sonn obfusqué par MobileFish, qui donnait donc :
Code:
<?php eval(gzinflate(base64_decode('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'))); ?>
Et voilà !
Bon, il y a énormément de softs d'obfuscation et de désobfuscation, mais tous ne sont pas très performants, certains sont payants, etc.
Donc voilà de quoi vous satisfaire
Commentaire