.Net décompilateur, éditeur d'assembly et obfuscateur

Je ne sais pas vous mais je décompile rarement des DLL pour le plaisir. IlSpy est un très bon décompilateur qui me suffit pour comprendre la logique d’un code.

Mais parfois faut aller plus loin. Cela vous est probablement arrivé de ne pas retrouver les sources d’un vieux développement à maintenir. Voir de travailler avec une dll ou un exécutable dont les variables sont écrites en dur dans le code. Avec ILSpy, vous pouvez exporter le code pour ensuite l’éditer dans Visual Studio.

ILSpy
Mon assembly de démonstration dans ILSpy

Vous pouvez aussi avoir envie de modifier directement le code ou ne pas avoir de Visual Studio sous la main. Pour cela j’ai trouvé un éditeur d’assembly : Reflexil. Mais il ne fonctionne qu’avec JustDecompile ou Reflector.

Je vous propose un exemple simple dont voici le code :

Comme vous l’imaginez son execution affiche : _SiteColl.PrivateUrl : http://private.sps2013 SiteColl.PublicUrl : http://public.sps2013_

Reflexil
Modification d’une valeur avec Reflexil 1.8 dans JustDecompile

Après un petit passage avec Reflexil, je vous laisse apprécier le résultat : _SiteColl.PrivateUrl : http://modified.sps2013 SiteColl.PublicUrl : http://public.sps2013_

A ce point, vous allez me dire qu’en obfusquant le code, tout cela ne sert à rien. D’autant plus qu’il existe pléthore d’obfuscateurs pour .Net comme en témoigne Wikipedia. Et comme vous l’imaginez, il existe des desobfuscateurs. C’est là qu’entre en jeu De4Dot et que je me demande s’il y a vraiment un moyen de protéger son code et s’il existe une fin à ce cycle.

Références :

ILSpy

JustDecompile de Telerik

Reflector de Red Gate

Reflexil : http://reflexil.net/ et http://sourceforge.net/projects/reflexil/

[Je ne sais pas vous mais je décompile rarement des DLL pour le plaisir. IlSpy est un très bon décompilateur qui me suffit pour comprendre la logique d’un code.

Mais parfois faut aller plus loin. Cela vous est probablement arrivé de ne pas retrouver les sources d’un vieux développement à maintenir. Voir de travailler avec une dll ou un exécutable dont les variables sont écrites en dur dans le code. Avec ILSpy, vous pouvez exporter le code pour ensuite l’éditer dans Visual Studio.

ILSpy
Mon assembly de démonstration dans ILSpy

Vous pouvez aussi avoir envie de modifier directement le code ou ne pas avoir de Visual Studio sous la main. Pour cela j’ai trouvé un éditeur d’assembly : Reflexil. Mais il ne fonctionne qu’avec JustDecompile ou Reflector.

Je vous propose un exemple simple dont voici le code :

Comme vous l’imaginez son execution affiche : _SiteColl.PrivateUrl : http://private.sps2013 SiteColl.PublicUrl : http://public.sps2013_

Reflexil
Modification d’une valeur avec Reflexil 1.8 dans JustDecompile

Après un petit passage avec Reflexil, je vous laisse apprécier le résultat : _SiteColl.PrivateUrl : http://modified.sps2013 SiteColl.PublicUrl : http://public.sps2013_

A ce point, vous allez me dire qu’en obfusquant le code, tout cela ne sert à rien. D’autant plus qu’il existe pléthore d’obfuscateurs pour .Net comme en témoigne Wikipedia. Et comme vous l’imaginez, il existe des desobfuscateurs. C’est là qu’entre en jeu De4Dot et que je me demande s’il y a vraiment un moyen de protéger son code et s’il existe une fin à ce cycle.

Références :

ILSpy

JustDecompile de Telerik

Reflector de Red Gate

Reflexil : http://reflexil.net/ et http://sourceforge.net/projects/reflexil/

](https://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET)

[Je ne sais pas vous mais je décompile rarement des DLL pour le plaisir. IlSpy est un très bon décompilateur qui me suffit pour comprendre la logique d’un code.

Mais parfois faut aller plus loin. Cela vous est probablement arrivé de ne pas retrouver les sources d’un vieux développement à maintenir. Voir de travailler avec une dll ou un exécutable dont les variables sont écrites en dur dans le code. Avec ILSpy, vous pouvez exporter le code pour ensuite l’éditer dans Visual Studio.

ILSpy
Mon assembly de démonstration dans ILSpy

Vous pouvez aussi avoir envie de modifier directement le code ou ne pas avoir de Visual Studio sous la main. Pour cela j’ai trouvé un éditeur d’assembly : Reflexil. Mais il ne fonctionne qu’avec JustDecompile ou Reflector.

Je vous propose un exemple simple dont voici le code :

Comme vous l’imaginez son execution affiche : _SiteColl.PrivateUrl : http://private.sps2013 SiteColl.PublicUrl : http://public.sps2013_

Reflexil
Modification d’une valeur avec Reflexil 1.8 dans JustDecompile

Après un petit passage avec Reflexil, je vous laisse apprécier le résultat : _SiteColl.PrivateUrl : http://modified.sps2013 SiteColl.PublicUrl : http://public.sps2013_

A ce point, vous allez me dire qu’en obfusquant le code, tout cela ne sert à rien. D’autant plus qu’il existe pléthore d’obfuscateurs pour .Net comme en témoigne Wikipedia. Et comme vous l’imaginez, il existe des desobfuscateurs. C’est là qu’entre en jeu De4Dot et que je me demande s’il y a vraiment un moyen de protéger son code et s’il existe une fin à ce cycle.

Références :

ILSpy

JustDecompile de Telerik

Reflector de Red Gate

Reflexil : http://reflexil.net/ et http://sourceforge.net/projects/reflexil/

[Je ne sais pas vous mais je décompile rarement des DLL pour le plaisir. IlSpy est un très bon décompilateur qui me suffit pour comprendre la logique d’un code.

Mais parfois faut aller plus loin. Cela vous est probablement arrivé de ne pas retrouver les sources d’un vieux développement à maintenir. Voir de travailler avec une dll ou un exécutable dont les variables sont écrites en dur dans le code. Avec ILSpy, vous pouvez exporter le code pour ensuite l’éditer dans Visual Studio.

ILSpy
Mon assembly de démonstration dans ILSpy

Vous pouvez aussi avoir envie de modifier directement le code ou ne pas avoir de Visual Studio sous la main. Pour cela j’ai trouvé un éditeur d’assembly : Reflexil. Mais il ne fonctionne qu’avec JustDecompile ou Reflector.

Je vous propose un exemple simple dont voici le code :

Comme vous l’imaginez son execution affiche : _SiteColl.PrivateUrl : http://private.sps2013 SiteColl.PublicUrl : http://public.sps2013_

Reflexil
Modification d’une valeur avec Reflexil 1.8 dans JustDecompile

Après un petit passage avec Reflexil, je vous laisse apprécier le résultat : _SiteColl.PrivateUrl : http://modified.sps2013 SiteColl.PublicUrl : http://public.sps2013_

A ce point, vous allez me dire qu’en obfusquant le code, tout cela ne sert à rien. D’autant plus qu’il existe pléthore d’obfuscateurs pour .Net comme en témoigne Wikipedia. Et comme vous l’imaginez, il existe des desobfuscateurs. C’est là qu’entre en jeu De4Dot et que je me demande s’il y a vraiment un moyen de protéger son code et s’il existe une fin à ce cycle.

Références :

ILSpy

JustDecompile de Telerik

Reflector de Red Gate

Reflexil : http://reflexil.net/ et http://sourceforge.net/projects/reflexil/

](https://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET)

](https://github.com/0xd4d/de4dot)

Related Post

Client Side Package management with Library Manage... https://www.youtube.com/watch?v=ZSOsROOkpA4
Benchmark dotnet en toute simplicité Le benchmark ou test de performance permet - en informatique - de comparer les performances de plusieurs solutions. La méthode la plus simple consiste...
Entity Framework Core et les données spatiales La gestion des données spatiales avec Entity Framework Core n'existe pas actuellement . Quand on essaie de créer un modèle d'une table contenant une c...
Créer les classes C# à partir d’un schéma XS... Un collègue de boulot se retrouve avec un problème : il doit mettre en place un reporting au XML validé auprès d’un schéma XSD. Il pensait que cela lu...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *