Merci de ton intérêt pour ce projet, Nours.
- lors de l'obfuscation des noms de variables, suis tu un algorithme strict ?
Qu'est ce que tu appelles "algorithme scrict" ?
En fait, l'idée est juste d'avoir une clase qui replace les noms de variables par des chaines aléatoires, histoire de rendre plus ardue la relecture du code. Quelqu'un d'obstiné y arrivera en y passant le temps qu'il faut.
=> est-ce que lorsque l'on répète cette opération sur différents fichiers qui vont à un moment donnés utiliser les mêmes variables (includes, ... ) elles vont toutes conserver un nom commun ?
Oui
=> as tu prévus un fichier annexe ou les utilisateurs pourrais configurer leur propre algorithme servant à encrypter ces dites "variables" ??
Non, a vrai dire, je n'y ai pas pensé du tout.
Pour ce qui est de la première question, j'avais pensé à écrire une sorte d'en tête qui se rajouterai à tous les fichiers. Cette en-tête serait en réalité un trampoline vers un fichier externe ou les variables fonctions etc. seraient remplacés par un certain nombres d'opérations équivalentes toutes concaténées dans un même fichier. L'idée est que le code dans le gros fichier est réecris de telle façon que seulement 5 ou 6 variables différentes sont utilisées pour tout refaire. De cette façon, parvenir à relire le code pour retrouver l'algo de dépard serait particulièrement ardu.
En gros, on génère un fichier "CODE" où tout le code est réecris suivant un algo X (que l'utilisateur pourrai éditer) et on garde juste dans les fichiers originaux une routine qui saute au bon endroit dans le fichier "CODE" afin de concerver l'arborescence.
Un souci possible de cette méthode pourrait être le temps d'éxécution qui pourrait se voir bien augmenté. Enfin bon, ça reste à quantifier, ce sera de toute façon dépendant de l'algo d'obfuscation utilisé et de la quantité de code superflu ajouté.
Qu'est que vous pensez de cette idée?
J'ai l'intention de continuer un peu ce projet à mes heures perdues, je serai heureux de tenir compte de vos suggestions =)
La tortue.
PS.: Est-ce que vous savez comment marche ionCube? Est-ce que c'est la source elle même qui est obfusquée ou est-ce que l'obfuscation a lieu au niveau bytecodes ?