DÉCOMPILEUR HEXADECIMAL DE FICHIER WEB

psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008 - 28 juil. 2003 à 12:38
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 5 déc. 2003 à 17:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13402-decompileur-hexadecimal-de-fichier-web

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
5 déc. 2003 à 17:45
point de vue code, en PHP tout reste très simple, tu fais comme tu veux, ça restera simple.
ce dont tu parles toi, c'est la stratégie de développement, les embriquements de fonctions, de classes et de données (de sources différentes à gérer pertinnement et sans faille, ça, ça peut devenir complexe à mesure que le projet grandit, et cela requiert un bon plan, des schémas sur papier, une réflexion profonde sur la meilleure manière d'appréhender la chose. Je connais cela, j'ai expérimenté l'élaboration de gros projets, je suis parfaitement au courant du fait qu'assembler même des expressions simples peut être casse-tête à cause du nombre justement de ces expressions et de la quantité de données à traiter en même temps.

il reste que le code en lui-même ne pose jamais de problème en PHP, et c'était bie nde cela que je parlais. En C++ par contre, si tu regardes un peu ce qu'il y a dedans, ... ben il faut plusieurs années pour toujours savoir du premier coup quelle structure lexicale répond à telle ou telle manipulation (le langage est très proche de la mémoire, à toi de la gérer). Après 2 ans de C++, je reste parfois planté plusieurs heures devant un problème de programmation, pas de conception.

C'est ça la différence.
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
5 déc. 2003 à 17:39
tu vois, même une class uttilisant que des +, des -, des %, des * des boucles for etc. peut paraitre simple, mais peut être très compliqué
t'as encore du mal à évalué la complexité d'un code, mais sa viendra
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
5 déc. 2003 à 17:15
... les images avec gd c pas plus compliqué que le reste en php ...
cs_Colder Messages postés 10 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 5 décembre 2003
5 déc. 2003 à 17:14
c'est un peu paradoxal : a mon aivs les niveau des programmeur php ne sont pas si contrasté que ceux en c++ par example : ca nempeche pas que le niveau 3 doit etre vide.

je trouve aussi que certain script ne le merite pas, pasque souvent il y a plein de fautes. et que c'est simple mais long, style des programme complet de gestion. moi a mon avis qqch qui merite un niveau 3 c un code qui fasse bcp de chose en tres peu de ligne, pas repetitif, et sous forme de fonction ou de class par example.

Par example mon code sur les fonction mathématique : je pourait le mettre niveau 1 pasque ca vaut pas niveau 3 : mais je vois presque jamais de truc qui utilise les image php. alors...
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
19 sept. 2003 à 08:08
moi si, genre pour uttiliser les sockets avancé du c :]
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 sept. 2003 à 07:56
j'en ai vu mais ... je les ai pas bookmarkés ^^ mais honnêtement, j'en ai vu pour particuliers, à prix raisonnable, même. enfin moi ça m'intéresse pas de tte manière ...
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
18 sept. 2003 à 22:50
ben avec un exe tu peux tout faire donc... je pense pas qu'il doit y avoir sur des serveurs sur le net qui acceptes tes exe lol
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 sept. 2003 à 22:40
c pas le problème du serveur, c le problème de l'hébergeur. c plus dur de gérer les exe que PHP en mode secure ;-)
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
18 sept. 2003 à 20:53
pour Apache/IIS je pense qu'il doit faloir faire un mod pour utilisez sa
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
18 sept. 2003 à 20:49
iis jai deja vu des trucs 'machin.exe?esfiksofd'
en faite, suffit juste de redirigé le stdout en html, mais faut savoir le faire quoi lol
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
18 sept. 2003 à 20:46
y'a Apache et IIS je crois
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 sept. 2003 à 20:45
bah j'en ai déjà vu plusieurs, c pas ça qui manque, c juste un question de ... prix! :-)
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
18 sept. 2003 à 20:44
ouep ça peut être utile cler, en y reflechissant, mais faut trouver le serveur qui fait sa, et pour mettre sa en ligne, un dedié (jpense pas trouvé un hebergeur pour ce type d'application :p)

allez retrouvez moi sa ! :p
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 sept. 2003 à 20:33
debhian, ça existe bel et bien, regarde ne fut-ce que sur le site de borland, tu verras des urls du type programme.exe/page.html ou encore librairie.dll/page.html

c'est utile, bien sur, pr passer les murs dont parlait magicking.
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
18 sept. 2003 à 17:55
si si j'ai bien compris, mais tu dis que c'est plus élaboré que du php, je vois pas en quoi, c du php c tout :

puis pour uttiliser le c++ comme language web, 1. je nai jamais vu sa , puis je vois pas l'uttilité vu que php est en qq sorte le language web du c (comme tu l'as dis)
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
18 sept. 2003 à 17:48
Quand je suis passez du php au C(y'a 2 semaines) je me suis rendue compte que le php c'est du C simplifié c'est tout sauf que en php tu tombe face a un murs trop souvent c'est pour sa que moi je te conseille de changer de language si tu veux faire des truc comme sa c'est tout...
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
18 sept. 2003 à 17:10
juste un poste pour ne plus etre averti par mail de chaque commentaire sur se script!
fodrais corriger ca sur le site :)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 sept. 2003 à 17:00
petite note: le C++ peut etre utilisé comme langage web, mais ok, c pas très répandu, du moins parmi les amateurs, et je n'utilise pas ça non plus, parce que faut déjà un serveur qui l'accepte.

à part ça, à propos de mon site, tu répètes exactement ce que j'ai dit, donc tu as bien compris ^^

suis d'accord avec toi, on devrait pas comparer langage web et langage système sur le point de vue des performances. Mais point de vue complexité, le rapport n'est pas idiot. D'ailleurs la syntaxe du php est héritée du C, donc pas de problème à les comparer. Si ?
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
18 sept. 2003 à 16:55
ben en php les requetes GET /file passe tres mal, (même sous netcat), et pour eviter de faire une requete de 5 lignes pour être conforme, j'ai préféré faire un GET http://, sous apache/win32 (pas easyphp), cela marche tres bien (sur tout les sites), et sous linux aussi je pense, vu que php est multiplateforme.

"tu vois bien que c un peu plus élaboré que du PHP de base"
oui c autre chose que du echo "hello world"; mais sa reste du php uttilisé normalement, comme bc de gens font.
Alors que moi je cherche à poussé php à l'extreme (avec souvent des resultats satisfaisant !)

et autre chose, on ne compare pas un language systeme avec un language web :)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 sept. 2003 à 16:40
debhian, t'as mal lu mon message, j'ai bien dit: les capacités du PHP sont énormes, et le niveau du programmeur requis est faible. voilà tout. le PHP est déjà tout prêt, faut plus grand chose. Pour ma part, j'ai codé www.ffuniversalis.tk, si tu jettes un coup d'oeil à la section équipement, tu vois bien que c un peu plus élaboré que du PHP de base, mais ce n'est rien de plus que des requêtes mysql construites dynamiquement, et un affichage HTML en conséquence. ça demande juste de l'ordre et de la rigueur, pas de niveau intellectuel très poussé.

je code aussi en C++, et c'est franchement une autre histoire, il m'arrive de bloquer sur la syntaxe pure et dure (avec ses histoires de référence, pointeur, pointeur sur référence, l'inverse, etc), ça va plutôt bien maintenant, mais il m'a fallu plus de 2 semaines, alors que le PHP, c'est vite vu. Après php.net (ou nexen pr ceux qui aiment) et tu prends les fonctions telles quelles.



ah ben j'avais pas lu le message de magicking, mais oui, tu as bien compris ma pensée ^^
chez zend ils ont créé un compilo pour PHP. :-) mais j'en ai pas l'utilité...
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
17 sept. 2003 à 23:31
Kirua voila qui est bien parler, mais le php(4) je pensais aussi qu'il n'etait pas obligatoirement pour le web mais quand(parlons des sockets) on veut faire des choses trop poussé en php(4) on tombe trop souvent sur un mur peut-etre php5 resoudrat certain probleme de memoire(sic) comme Kirua il est trés facile de faire du php etant donné que tout est la c'est comme un puzzle en somme tu alignes tes mot et sa marche c'est donc pour sa que le php n'est fait que pour le web(ou a utiliser avec cron le zend engine pour les taches automatique) car quant je vois m'ont script me faire des GO de memoire consomme et que je ne peux rien faire pour sa tu te dis que php(4) sa sert a rien si tu ne peux pas faire tout se que tu veux... mais php il ne le sous-estime au contraitre il l'estime a sa juste valeur et bien qu'il y est de tres grande similitude entre le php et le C il ne l'egale pour l'instant pas car il y'a par exemple certaine gestion d'erreurs que tu ne trouve pas en php et qui si on ne les remarques pas te bouffe des GO de memoires(dsl sa m'est resté en travert de la gorge) s'en que tu t'en rende compte... et t'utilise le cpu a fond(vive le thread qui ne peut etre utilise en php)


bon ben sinon pour ta source j'imagine que tu l'as teste avec EasyPhp car le serveur apache de php accepte la requete GET http://$file HTTP/1.0


dont la majorite des serveurs ne l'accepte pas GET http://$file HTTP/1.1
Host: $server


bien que la requete ne sois pas complete mais y'a des rfc pour sa

mais bon je met une bonne note même si je n'est pas teste le script car il est joli(capture) et je suis sur qu'il fonctionne mais niveau 2 ou 1 est preferable
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
8 août 2003 à 18:24
Je connais un programmeur pro qui à 23 ans, il fait des reseaux de neuronne et des algo génétique, et je lui ai demandé sons avie, et php5 étant plus poussé en programmation objet pourra être uttilisé pour faire des reseaux de neuronnes. Je m'entraine actuelement à faire des script special pour mes future algo en php5, ce script je l'ai fait pour m'amuser, le bruteforce est plutot un example flagrant de ce que php peut faire.
PHP est le language web du C, croit moi tu as tord de le sous-estimer.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 août 2003 à 18:12
"Puis j'ai mis ce code au niveau 3, vu son originalité ..
Oui c'est bien beau de mettre 300 newletters, même si elle intègre 300 fonctions, c'est juste du mysql_query répété plein de fois."

ça fait 2 ans que je prog en PHP, et plus j'avance, plus je me dis que rien ne mérite du niveau trois en PHP, c'est tellement prémaché! les créateurs de PHP nous ont fournis un langage impeccable, tout est déjà fait pr nous, il suffit d'aligner des instructions, c'est simplissime. à côté de ça, il y a la programmation PHP pro, avec un réel souci de l'optimisation, mais ça, ça s'apprend pas seul, faut au moins un bouquin, contrairement à la prog PHP pratiquée par bcp de gens, qui donne d'excellents résultats et qui ne demande qu'au plus 2 semaines à assimiler quand on a déjà un langage ds le dos. après on en apprend au fur et à mesure, et on s'améliore, mais ça donne jamais du niveau 3. ce n'est pas une prouesse je veux dire.
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
8 août 2003 à 12:25
J'ai pris 200 car c'etait comme sa, sa avais l'air de marcher comme sa :o
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
8 août 2003 à 12:08
je ne l'ai plus! dsl.

la technique du buffer, elle est tres bien :)
mais ce qui me titille, cest la taille du buffer : 200octets?? d'ou a tu pris cette valeur??
en toute logique, moi j'aurai pris un buffer de taille 'juste' : 256 ou plus petit meme : 128 ou 64.

un truc du genre :

while(!feof($fp)) $s.=fgets($fp,64);
fclose($fp);

(tu notera qu'on passe de 6lignes a 2lignes, en effet, ce que tu a ecrit et ce que jai ecrit est exactement la meme chose)
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
8 août 2003 à 11:51
La technique du buffer n'est pas de moi, et elle marche, je l'uttilise sur tous mes scripts uttilisant un socket, et cela marche.
Si tu me passait le fichier sur lequel cela merde, ça m'aiderai un peu plus.

Merci
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
8 août 2003 à 11:22
hum, a tetendre on dirais que ton script est parfait et que les 'problemes eventuels' ne peuvent venir que de PHP ou de l'utilisateur ;)

jai testé ton script sur un ptit soft en VB3. a priori il y a un probleme de buffer , c pour ca qu'il sarretait :

while(!feof($fp))
{
$buff=fgets($fp,200); <= probleme avec ton buffer
if($buff!="") { $s=$s.$buff; }
}
fclose($fp);

jai pas pris la peine de comprendre ton script entierement, mais ton buffer y me turlupine. jai essayé de le modifier, jobtien des resultats differents a chaque fois (parfois mieu, parfois moin bien).

bref, a toi de jouer :)

en attendant jai choppé un tit editeur hexa qui marche :)
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
8 août 2003 à 11:11
J'ai tester le script sur plusieur executable, avec succès.

"lorse qu'il interprette mal un code"
Je ne comprend pas, il convertis juste l'ascii en hexa, il ne peut yavoir aucun bug de ce coté la (ou alors tu as découvert un bug dans une des fonctions de php).

Explique mieux ton probleme, au pire donne l'url du fichier que tu as essayé de décompiler.
Puis j'ai mis ce code au niveau 3, vu son originalité ..
Oui c'est bien beau de mettre 300 newletters, même si elle intègre 300 fonctions, c'est juste du mysql_query répété plein de fois.

Avant d'arrivé à recreer un tableau parfait, avec l'ascii bien géré, il m'a fallu beaucoup de test :o
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
8 août 2003 à 09:39
humm!
ayant eu besoin d'un editeur hexadecimal il y a tres peu de temps, jai decidé dessayer le tien, car il ne demandait aucune installation ,et je pouvais l'utiliser de nimpore ou!

mais voila : il ne marche pas ... (dsl)

jai testé sur plusieurs .exe et lediteur arrette la conversion en hexa brusquement lorse qu'il interprette mal un code, jai modifié 2/3 trucs dans ton script, le resultat etait mieu, mais pas encore là.
jai comparé a un 'vrais' editeur en hexa, ils semblaient pas dire la meme chose :(

code a revoir....

(PS : pour le niveaux 3 je maintient ce que j'ai dis precedement...)
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
8 août 2003 à 03:34
crois tu ? on met une url d'un fichier, on le modif grace à des formulaires, et on a le prog modif sur le serveur qu'on peut download.
Un editeur hexadecimal compatible tous systeme.
Peut être associé à bien d'autre outils, comme compileur gcc, etc ..
tous sa en live, ce qui permetrai de faire un tool bien utile ..

quel interet de faire un client mysql alors que myadmin exitait ?
phpMyAdmin l'a fait .. :p javoue que l'example n'es pas comparable, vu qu'un decompileur ne touche beaucoup moin d'interessé, mais c'est jouable :)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 août 2003 à 02:16
le problème, c que bcp de gens postent des codes de niveau 3 ... :-) un peu d'humilité ^^
oui je suis d'accord avec psy, plus que la réalisation, ce qui compte c de bien choisir le langage approprié, et manifestement, le PHP n'est pas là pour ce genre d'actions... :-S
cs_debhian Messages postés 25 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 12 août 2003
28 juil. 2003 à 12:56
C'est pas plus simple que les autres sources du niveau 3.
Hum, je vais paster un algo de bruteforce alors.
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
28 juil. 2003 à 12:38
humm
un simple editeur en hexa en php
cest mimi tout plein :) mais bon...
chui pas sur que PHP soit LE language adapté pour faire ce genre de truc :)

pi revois le niveaux de ton code, ca vaut pas niveaux 3 ;)
Rejoignez-nous