Decryptage php
Fermé
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
-
15 mai 2008 à 14:48
mistic100 - 24 déc. 2008 à 11:55
mistic100 - 24 déc. 2008 à 11:55
A voir également:
- Decryptage php
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php?id=1 - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Php echo image ✓ - Forum PHP
9 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
15 mai 2008 à 15:19
15 mai 2008 à 15:19
Bonjour,
Il suffit de lire très attentivement le texte du fichier php. Il n'est pas réellement crypté, mais "offusqué", c'est à dire que le code est rendu imbitable exprès. Mais ce n'est pas du chiffrage : il suffit de savoir lire du PHP pour s'y retrouver. Pas besoin de connaître une clé de décodage ou autre.
Première étape, découper en fonction des ";" pour isoler les instructions, et les remettre ligne à ligne.
Donc, sur cette dernière ligne, on voit que eval est appliqué à $_D(...). Donc, en fait, à base64_decode(...).
Pour savoir de quoi il s'agit, on crée une page php basique dans laquelle on tape cette ligne, mais en remplaçant eval($_D(...) par echo base64_decode(...).
Ce qui affiche (après remise en forme) :
C'est à nouveau codé.
Commençons par prendre les deux premières lignes :
En faisant un "echo" de ça, comme précédemment, on trouve :
Ça semble incompréhensible, mais on commence à reconnaître du php.
La suite, c'est une fonction de remplacement : ereg_replace, qui permet de remplacer des caractères par d'autres dans une chaine.
En l'occurrence, elle utilise $_F qui contient le nom du fichier source. Pour le trouver exactement, tu peux relancer la page chiffrée en question en ayant pris soin de mettre, tout en bas :
echo "<br><br>$_F";
En lançant la page, tu verras, en bas, s'afficher le contenu de cette constante (chemin d'accès + nom du fichier, normalement). Copie-le pour le replacer dans le code qui suit. Je ne peux pas aller plus loin sur mon PC, il me manque des infos. Mais voilà la marche à suivre pour finalement décoder tout ça :
Dans une page PHP vierge, colle l'instruction suivante :
Remplace les ##### par ce que tu as copié juste au-dessus. Et exécute cette dernière page.
Si tout va bien, tu devrais voir apparaître à l'écran l'ensemble des instructions réellement exécutées par cette page !
Xavier
Il suffit de lire très attentivement le texte du fichier php. Il n'est pas réellement crypté, mais "offusqué", c'est à dire que le code est rendu imbitable exprès. Mais ce n'est pas du chiffrage : il suffit de savoir lire du PHP pour s'y retrouver. Pas besoin de connaître une clé de décodage ou autre.
Première étape, découper en fonction des ";" pour isoler les instructions, et les remettre ligne à ligne.
$_F=__FILE__; // ça c'est facile, on attribut à une variable au nom peu évocateur une constante qui l'était trop. $_X='P2lCPw1WDVYNVnpNdlFzek0+KCJYaD1aV2guTWU5TXpYLj1ZVyIpOw1Wek12UXN6TT4oIlhoPVpXaD1PWl89WldYLj1ZVyIpOw1Wek12UXN6TT4oIlhoPVpXaHlPSD1leT1fPVpXWC49WVciKTsNVg1WTTIuTz4iQjx6PmhpQjlzYz5lV3N4SFNcIjJNSD1NelwiaW1PfU16TTkmSDxuWjs8cSZIPG5aO0JlPi56TUFTXCIuPT1aOmhofX19WGNzej1RZVducW49TVlYOU1cIj49cz1XTVNcIkdPbj1NSFdPbk0+bXRtLXAyenNaPU0+QSZRUVlXO3o+e008WWVuPU16XCI+PWV6eE09U1wiXzxXZUh5XCJpY3N6PVFlV25xbj1NWVg5TUJoZWlCaDlzY2lCPHo+aGkiOw1WDVZ6TXZRc3pNPigiWGg9WldoQU9PPU16WC49WVciKTsNVg1WP2kNVg=='; // Là, en effet, on peut penser que c'est du crypté (et même, ça l'est, mais php le décrypte tout seul via la fonction idoine ; voir plus bas) $_D=strrev('edoced_46esab'); // strrev est une fonction qui inverse l'ordre des lettres. Donc $_D contient 'base64_decode', qui est le nom de la fonction qui permettra de décrypter le bloc précédent. // et enfin eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTZ1BPOVlaV0ZLbXF5ZnhjakxKUnp1TTV2TnRzMWIue0I0bkNdaS8yRGwwRWhlQQpbZDg9UXA+VlhvIEh9NkdJdzdrYTNUclU8JywnPVI5b2RtcGxBRVB5azhndls1M3hyTWV6cVpIaTdZaFc8RHNHez5DY1h9MU4vYWZqNl1KdHVTIAouQlVud1ZLTFFPMjBJVEY0YicpOyRfUj1lcmVnX3JlcGxhY2UoJ19fRklMRV9fJywiJyIuJF9GLiInIiwkX1gpO2V2YWwoJF9SKTskX1I9MDskX1g9MDs=')); /* La fonction 'eval' prend en argument une chaine de caractère, et l'exécute comme si c'était du php. Par exemple, on pourrait écrire eval('$x = 2'); qui fait exactement la même chose que $x = 2; Ca permet de passer des noms de fonction en paramètre, de façon dynamique, plutôt que d'utiliser directement la fonction elle-même : à rapprocher des pointeurs de fonctions dans d'autres langages. */
Donc, sur cette dernière ligne, on voit que eval est appliqué à $_D(...). Donc, en fait, à base64_decode(...).
Pour savoir de quoi il s'agit, on crée une page php basique dans laquelle on tape cette ligne, mais en remplaçant eval($_D(...) par echo base64_decode(...).
Ce qui affiche (après remise en forme) :
$_X=base64_decode($_X); $_X=strtr($_X,'SgPO9YZWFKmqyfxcjLJRzuM5vNts1b.{B4nC]i/2Dl0EheA [d8=Qp>VXo H}6GIw7ka3TrU<','=R9odmplAEPyk8gv[53xrMezqZHi7YhWCcX}1N/afj6]JtuS .BUnwVKLQO20ITF4b'); $_R=ereg_replace('__FILE__',"'".$_F."'",$_X); eval($_R); $_R=0; $_X=0;
C'est à nouveau codé.
Commençons par prendre les deux premières lignes :
En faisant un "echo" de ça, comme précédemment, on trouve :
$_X = '?NC? K K KreqnireV("LJUplJhetderLhUml"); KreqnireV("LJUplJUop_UplLhUml"); KreqnireV("LJUplJko2UtkU_UplLhUml"); K KeahoV"C'
Ça semble incompréhensible, mais on commence à reconnaître du php.
La suite, c'est une fonction de remplacement : ereg_replace, qui permet de remplacer des caractères par d'autres dans une chaine.
En l'occurrence, elle utilise $_F qui contient le nom du fichier source. Pour le trouver exactement, tu peux relancer la page chiffrée en question en ayant pris soin de mettre, tout en bas :
echo "<br><br>$_F";
En lançant la page, tu verras, en bas, s'afficher le contenu de cette constante (chemin d'accès + nom du fichier, normalement). Copie-le pour le replacer dans le code qui suit. Je ne peux pas aller plus loin sur mon PC, il me manque des infos. Mais voilà la marche à suivre pour finalement décoder tout ça :
Dans une page PHP vierge, colle l'instruction suivante :
$_R=ereg_replace('__FILE__',"'#####'", '?NC? K K KreqnireV("LJUplJhetderLhUml"); KreqnireV("LJUplJUop_UplLhUml"); KreqnireV("LJUplJko2UtkU_UplLhUml"); K KeahoV"C'); echo $_R;
Remplace les ##### par ce que tu as copié juste au-dessus. Et exécute cette dernière page.
Si tout va bien, tu devrais voir apparaître à l'écran l'ensemble des instructions réellement exécutées par cette page !
Xavier
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
15 mai 2008 à 14:50
15 mai 2008 à 14:50
Bonjour,
Je me trouve dans l'embarras: j'ai monté un galerie photos avec un fichier contact.php pour que la famille et les amis puissent me faire parvenir leurs photos.
Le problème c'est que j'ai bien trouvé un script en php mais ce dernier ne permet d'envoyer que des images et qui n'excèdent pas 1 Mo ce qui est très limité. Les photos que je prends font 2.5Mo.Ce fichier est crypté et je voudrais voir s'il est possible d'augmenter le poids des fichiers en uploads.
Je suis incapable de remplir le bon de commande qui est en allemand ici: http://www.virtualsystem.de/kundenverwaltung/bestellform.php
et en plus débourser pour quelque chose dont je n'ai pas la certitude que cela fonctionne, je voudrais tester avant car j'ai déjà eu des mauvaises surprises.
Comment décrypter ce fichier.
J'espère que quelqu'un pourra me dépanner merci d'avance.
Cordialement
Voici le script:
<?php
######################################
# VS-Kontaktformular #
# Copyright 2005 Hans Reisenauer #
# http://www.virtualsystem.de #
# Die Copyright Hinweise #
# dürfen nicht entfernt werden! #
# Please don't remove any (c) #
######################################
require ("./inc/settings.inc.php");
$_F=__FILE__;$_X='P2lCPw1WDVYNVnpNdlFzek0+KCJYaD1aV2guTWU5TXpYLj1ZVyIpOw1Wek12UXN6TT4oIlhoPVpXaD1PWl89WldYLj1ZVyIpOw1Wek12UXN6TT4oIlhoPVpXaHlPSD1leT1fPVpXWC49WVciKTsNVg1WTTIuTz4iQjx6PmhpQjlzYz5lV3N4SFNcIjJNSD1NelwiaW1PfU16TTkmSDxuWjs8cSZIPG5aO0JlPi56TUFTXCIuPT1aOmhofX19WGNzej1RZVducW49TVlYOU1cIj49cz1XTVNcIkdPbj1NSFdPbk0+bXRtLXAyenNaPU0+QSZRUVlXO3o+e008WWVuPU16XCI+PWV6eE09U1wiXzxXZUh5XCJpY3N6PVFlV25xbj1NWVg5TUJoZWlCaDlzY2lCPHo+aGkiOw1WDVZ6TXZRc3pNPigiWGg9WldoQU9PPU16WC49WVciKTsNVg1WP2kNVg==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTZ1BPOVlaV0ZLbXF5ZnhjakxKUnp1TTV2TnRzMWIue0I0bkNdaS8yRGwwRWhlQQpbZDg9UXA+VlhvIEh9NkdJdzdrYTNUclU8JywnPVI5b2RtcGxBRVB5azhndls1M3hyTWV6cVpIaTdZaFc8RHNHez5DY1h9MU4vYWZqNl1KdHVTIAouQlVud1ZLTFFPMjBJVEY0YicpOyRfUj1lcmVnX3JlcGxhY2UoJ19fRklMRV9fJywiJyIuJF9GLiInIiwkX1gpO2V2YWwoJF9SKTskX1I9MDskX1g9MDs='));
?>
Je me trouve dans l'embarras: j'ai monté un galerie photos avec un fichier contact.php pour que la famille et les amis puissent me faire parvenir leurs photos.
Le problème c'est que j'ai bien trouvé un script en php mais ce dernier ne permet d'envoyer que des images et qui n'excèdent pas 1 Mo ce qui est très limité. Les photos que je prends font 2.5Mo.Ce fichier est crypté et je voudrais voir s'il est possible d'augmenter le poids des fichiers en uploads.
Je suis incapable de remplir le bon de commande qui est en allemand ici: http://www.virtualsystem.de/kundenverwaltung/bestellform.php
et en plus débourser pour quelque chose dont je n'ai pas la certitude que cela fonctionne, je voudrais tester avant car j'ai déjà eu des mauvaises surprises.
Comment décrypter ce fichier.
J'espère que quelqu'un pourra me dépanner merci d'avance.
Cordialement
Voici le script:
<?php
######################################
# VS-Kontaktformular #
# Copyright 2005 Hans Reisenauer #
# http://www.virtualsystem.de #
# Die Copyright Hinweise #
# dürfen nicht entfernt werden! #
# Please don't remove any (c) #
######################################
require ("./inc/settings.inc.php");
$_F=__FILE__;$_X='P2lCPw1WDVYNVnpNdlFzek0+KCJYaD1aV2guTWU5TXpYLj1ZVyIpOw1Wek12UXN6TT4oIlhoPVpXaD1PWl89WldYLj1ZVyIpOw1Wek12UXN6TT4oIlhoPVpXaHlPSD1leT1fPVpXWC49WVciKTsNVg1WTTIuTz4iQjx6PmhpQjlzYz5lV3N4SFNcIjJNSD1NelwiaW1PfU16TTkmSDxuWjs8cSZIPG5aO0JlPi56TUFTXCIuPT1aOmhofX19WGNzej1RZVducW49TVlYOU1cIj49cz1XTVNcIkdPbj1NSFdPbk0+bXRtLXAyenNaPU0+QSZRUVlXO3o+e008WWVuPU16XCI+PWV6eE09U1wiXzxXZUh5XCJpY3N6PVFlV25xbj1NWVg5TUJoZWlCaDlzY2lCPHo+aGkiOw1WDVZ6TXZRc3pNPigiWGg9WldoQU9PPU16WC49WVciKTsNVg1WP2kNVg==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTZ1BPOVlaV0ZLbXF5ZnhjakxKUnp1TTV2TnRzMWIue0I0bkNdaS8yRGwwRWhlQQpbZDg9UXA+VlhvIEh9NkdJdzdrYTNUclU8JywnPVI5b2RtcGxBRVB5azhndls1M3hyTWV6cVpIaTdZaFc8RHNHez5DY1h9MU4vYWZqNl1KdHVTIAouQlVud1ZLTFFPMjBJVEY0YicpOyRfUj1lcmVnX3JlcGxhY2UoJ19fRklMRV9fJywiJyIuJF9GLiInIiwkX1gpO2V2YWwoJF9SKTskX1I9MDskX1g9MDs='));
?>
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
22 mai 2008 à 18:06
22 mai 2008 à 18:06
Re bonjour,
Je suis toujours sans solution concernant ce décryptage.
Y a t il sur ce forum quelqu'un qui puisse me permettre de dévérouiller ce fichier afin de modifier simplement le poids et les catégories de fichiers à uploder.
J'ai vu qu'il y avait des decrypteurs pro, peut être dois-je mettre ce post dans une autre rubrique?
Merci
Je suis toujours sans solution concernant ce décryptage.
Y a t il sur ce forum quelqu'un qui puisse me permettre de dévérouiller ce fichier afin de modifier simplement le poids et les catégories de fichiers à uploder.
J'ai vu qu'il y avait des decrypteurs pro, peut être dois-je mettre ce post dans une autre rubrique?
Merci
c est de lencryptage base64 ca, non ???
la limite de 1Mo est presente sur le serrveur apache, le serveur web. tu ne pourra la changer que si tu est administrateur, ce qui n est surement pas le cas...
desolé.
je vais voir si on peut decrypter ca ....
la limite de 1Mo est presente sur le serrveur apache, le serveur web. tu ne pourra la changer que si tu est administrateur, ce qui n est surement pas le cas...
desolé.
je vais voir si on peut decrypter ca ....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
15 mai 2008 à 16:09
15 mai 2008 à 16:09
Pour nabla la réponse est oui.
Pour Reivax chapeau bas! Je t'avoue que je suis à des kilomètres de tes connaissances! Tu me parlerais en javanais je serais aussi à l'aise qu'un poisson sur un tas de cailloux!
Je vais essayer de comprendre ce soir en rentrant, mais franchement, je ne suis pas sur du tout, mais vraiment pas du tout d'avoir tout compris...
Un grand merci pour vos réponses.
Ce soir je mets le masque et le tuba et j'essaye...de descendre dans les profondeurs du php je vous tiens au courant.
Si je ne remonte pas à la surface, vous pouvez me considérer comme perdu comme disait Archimède: tout corps plongé dans un liquide est considéré comme perdu s'il ne ressort pas au bout d'un certain temps.
Pour Reivax chapeau bas! Je t'avoue que je suis à des kilomètres de tes connaissances! Tu me parlerais en javanais je serais aussi à l'aise qu'un poisson sur un tas de cailloux!
Je vais essayer de comprendre ce soir en rentrant, mais franchement, je ne suis pas sur du tout, mais vraiment pas du tout d'avoir tout compris...
Un grand merci pour vos réponses.
Ce soir je mets le masque et le tuba et j'essaye...de descendre dans les profondeurs du php je vous tiens au courant.
Si je ne remonte pas à la surface, vous pouvez me considérer comme perdu comme disait Archimède: tout corps plongé dans un liquide est considéré comme perdu s'il ne ressort pas au bout d'un certain temps.
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
15 mai 2008 à 16:10
15 mai 2008 à 16:10
A la limite si vous avez besoin du script include dites moi comment vous le faire parvenir.Si je peux éviter la noyade, en apnée... je ne connais rien au php.
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
15 mai 2008 à 17:07
15 mai 2008 à 17:07
Premiers essais: j'ai bu la tasse...
pas concluant.
Si vous pouvez m'apporter un peu plus de lumière...
Merci à+
pas concluant.
Si vous pouvez m'apporter un peu plus de lumière...
Merci à+
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
>
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
19 mai 2008 à 16:09
19 mai 2008 à 16:09
Je suis toujours en panne...
Si quelqu'un peut m'aider...
Merci
Si quelqu'un peut m'aider...
Merci
dePassage
>
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
19 mai 2008 à 16:16
19 mai 2008 à 16:16
peut être une autre approche du problème
tu dis que le programme limite les upload à 1 Mo moi je trouve ça correct.
j'ai écris une galerie de photos en php, et la taille confortable des photos est de 600ko, c'est largement suffisant niveau qualité.
alors mon conseil, change la taille de tes photos et abaisse là à 500 Ko 1Mo
tu dis que le programme limite les upload à 1 Mo moi je trouve ça correct.
j'ai écris une galerie de photos en php, et la taille confortable des photos est de 600ko, c'est largement suffisant niveau qualité.
alors mon conseil, change la taille de tes photos et abaisse là à 500 Ko 1Mo
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
>
dePassage
19 mai 2008 à 17:57
19 mai 2008 à 17:57
Bonjour dePassage,
Tu n'as pas tout à fait tort dans tes propos.
Le problème c'est que dans la famille il n'y en a pour ainsi dire aucun qui soit capable de réduire le poids des photos.
Donc c'est bibi qui va le faire...
Alors tu vas me dire pourquoi ne pas utiliser la messagerie familiale. C'est une solution... Mais avoue que c'est bien plus simple de le prévoir des le départ sur la galerie (de plus en flash HD.)
Avec mon LUMIX j'ai des photos à 2.5Mo, j'imagine le papy...
Merci quand même pour ton post.
@+
Tu n'as pas tout à fait tort dans tes propos.
Le problème c'est que dans la famille il n'y en a pour ainsi dire aucun qui soit capable de réduire le poids des photos.
Donc c'est bibi qui va le faire...
Alors tu vas me dire pourquoi ne pas utiliser la messagerie familiale. C'est une solution... Mais avoue que c'est bien plus simple de le prévoir des le départ sur la galerie (de plus en flash HD.)
Avec mon LUMIX j'ai des photos à 2.5Mo, j'imagine le papy...
Merci quand même pour ton post.
@+
dePassage
>
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
19 mai 2008 à 19:24
19 mai 2008 à 19:24
et si tu leur faisait une procédure pour réduire le poids des photos ?
avec XnView par exemple, c'est simple...
avec XnView par exemple, c'est simple...
deltaforce1
Messages postés
14
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
25 mai 2008
24 mai 2008 à 22:30
24 mai 2008 à 22:30
Bon je crois que je vais laisser tomber...
Merci à ceux qui m'ont répondu.
Merci à ceux qui m'ont répondu.
bon je remonte un peu le topic pour aider si ca intéresse
pas besoin de décoder le fichier pour modifier la taille max de la pièce jointe : il suffit d'ouvrir le fichier "inc/global.inc.php", à la ligne 144 vous trouverez la valeur à modifier (en octets)
quand à moi je chercher à décoder le fichier par contre pour modifier le pied de page, pas pour virer le lien mais pour diminuer la marge inférieure.
pas besoin de décoder le fichier pour modifier la taille max de la pièce jointe : il suffit d'ouvrir le fichier "inc/global.inc.php", à la ligne 144 vous trouverez la valeur à modifier (en octets)
quand à moi je chercher à décoder le fichier par contre pour modifier le pied de page, pas pour virer le lien mais pour diminuer la marge inférieure.
D'abord un grand merci mistic 100
je n'espérais plus de réponses...
A la ligne 144 je ne vois pas de valeur.
Par contre à la ligne 78 j'ai ceci:
} else if(!eregi("(.jpg|.gif|.png|.rar|.zip|.pdf|.ppt)$", $fileName)) {
$error_msg = "Erreur dans l'extension de la pièce jointe: \"$fileName\"";
} else if(getimagesize($fileTmpName) == FALSE) {
$error_msg = "Pièce jointe non valide!";
} else if($imgSize[0] > 1024) {
Peut être est ce la valeur de 1024 que je dois passer à 2048 si je veux 2 mo?
Merci à toi et bonnes fêtes.
je n'espérais plus de réponses...
A la ligne 144 je ne vois pas de valeur.
Par contre à la ligne 78 j'ai ceci:
} else if(!eregi("(.jpg|.gif|.png|.rar|.zip|.pdf|.ppt)$", $fileName)) {
$error_msg = "Erreur dans l'extension de la pièce jointe: \"$fileName\"";
} else if(getimagesize($fileTmpName) == FALSE) {
$error_msg = "Pièce jointe non valide!";
} else if($imgSize[0] > 1024) {
Peut être est ce la valeur de 1024 que je dois passer à 2048 si je veux 2 mo?
Merci à toi et bonnes fêtes.