Page 1 sur 1

[..] Obfuscation

Posté : mar. 01 oct. 2013 09:24
par hardfloor
Bonjour,
J'ai une petite question d'ordre générale et j'aimerai des avis :wink:
Donc pour tous ceux qui ont essayé l'obfuscation, nous avons remarqué que nous avions souvent des erreurs une fois le code obfuscé!
Et c'est souvent dû, parce qu'une fonction ou une variable se trouve dans un include et donc ,forcément, l'include n'étant pas visité, il n'est pas obfuscé et les variables ou fonctions se retrouvent avec un nom différent.

Mes questions sont:

1) y a t'il une commande pour l'obsfucateur d'autoit pour lui demander de visiter les includes ou certains include

2) Le plus simple ne serait il pas de copier/coller directement les includes pour éviter les erreurs........

Merci à vous. :wink:

Re: [..]Obfuscation

Posté : mar. 01 oct. 2013 10:03
par jchd
... nous avons remarqué que nous avions souvent des erreurs une fois le code obfuscé!
Peux-tu fournir un exemple ou est-ce juste de la spéculation de dysfonctionnement ?

Qu'est-ce pour toi qu'un include "visité" ?

Re: [..]Obfuscation

Posté : jeu. 03 oct. 2013 08:39
par hardfloor
hardfloor a écrit :Bonjour,

Et c'est souvent dû, parce qu'une fonction ou une variable se trouve dans un include et donc ,forcément, l'include n'étant pas visité, il n'est pas obfuscé et les variables ou fonctions se retrouvent avec un nom différent.

Merci à vous. :wink:

Alors un exemple à tester, non, je n'en n'ai pas sous la main.
Se sont des constatations que j'ai faite à plusieurs reprises sur divers codes que j'ai essayé.

Alors un exemple simple:

Vous avez un include avec une fonction que l'on appellera _Fonction($test)

Dans votre script principal vous avez l'appel de cette fonction
blablabla
If $raison = "Ok" then _Fonction($test)

On dira que l'on obfusque de maniere simple soit juste les variables et fonction
Le code obfusqué donnerais:

If $dfzhazhzg6457z = "Ok" then _begezggz113454zegze

Voilà!

Donc le problème, c'est que la fonction ne sera pas reconnue étant donné qu'elle est déclaré dans un include et donc, de ce fait, portera un nom différent de celle de l'include.

Donc je pensais peut être copier/coller directement l'include au lieu de mettre la balise #Include, pour éviter ce probleme.

Dans "Visiter" j'entends l'action d'obsfuquer les includes lors de la compilation par autoit.
EN fait je pensais qu'il le faisait directement et je ne comprennais pas pourquoi j'avais des erreurs sur des fonctions!
En décompilant mon exe, j'ai remarqué que tout le contenu des includes apparait en clair , donc forcément ils portent un nom différent de ma fonction obfusquée.

Et donc peut être existe t'il une commande pour l'obfuscateur d'autoit qui permettrait justement d'obfusquer les includes, ainsi, je n'aurai plus plus de problèmes de ce genre.

Re: [..] Obfuscation

Posté : jeu. 03 oct. 2013 22:43
par Tlem
Je viens de tester ce que vous venez de décrire avec la version actuelle d'AutoIt sans avoir le moindre problème. :shock:

Visiblement, lors de la compilation, les fonctions sont intégrées au script obfusqué, donc aucune raison d'avoir un quelconque message d'erreur.

Maintenant si vous souhaitez garder les mêmes nom des fonctions, rien ne vous empêche d'utiliser le commutateur /cf 0.

Je joint mes fichiers de test au cas ou ce que vous voulez expliquer ne correspondrait pas pas à ce que j'ai écrit.

Re: [..] Obfuscation

Posté : ven. 04 oct. 2013 14:53
par hardfloor
Bon je viens d'effacer mon post car je viens de trouver la réponse à ma question!
J'utilisais mal les commandes (Mauvaise syntaxe^^) Veuillez m'excuser :oops: :oops:

Apparement une bonne syntaxe est comme ceci:

/cs=0 /cn=0 /cf=0 /cv=0 /sf=1 /sv=1

C'est ca? :?: