Affichage des articles dont le libellé est Obfuscator. Afficher tous les articles
Affichage des articles dont le libellé est Obfuscator. Afficher tous les articles

dimanche 28 juin 2020

DotNet Patcher : MAJ vers v4.6.5

BugFix : protection Method Hide calls : les appels de méthode ne sont pas placés dans le même DeclaringType
BugFix : mauvais nommage de certaine protection
BugFix : protection ControlFlow : exclusion des méthodes contenant l'opcode ReThrow
Modifié : nettoyage du code.

Projet : https://github.com/3DotDev/DotNetPatcher
Release : https://github.com/3DotDev/DotNetPatcher/releases/download/Release4.6.5/DotNetPatcher4.6.5.7z

mardi 9 juin 2020

DotNet Patcher : MAJ vers v4.6.4

BugFix : protection Controlflow, exclusion opcode Initobj et Throw puis traitement d'un body contenant au moins une variable
BugFix : noms de membres identiques lors de Codedom compilation
BugFix : les différents schemas de nommage de caractères (invisible, chinois, ...etc...) sont opérants
BugFix : echec de l'analyseur de dépendances lors de la fusion d'assembly
Supprimé : gestionnaire de règles d'exclusion des membres à obfusquer
Supprimé : protection InvalidMetadata
Supprimé : analyseur des appels Reflection
Modifié : analyseur du renommage des membres
Modifié : amélioration de la logique du projet
Ajouté : renommage des méthodes virtuelles en tenant compte de l'héritage
Ajouté : Renommage des méthodes virtuelles en tenant compte de l'héritage


Projet : https://github.com/3DotDev/DotNetPatcher
Release : https://github.com/3DotDev/DotNetPatcher/releases/download/Release4.6.4/DotNetPatcher4.6.4.7z

dimanche 1 octobre 2017

DotNet Patcher : MAJ vers 4.5.5

BugFix : Mauvais stockage de type (Ldci8 opcode) dans la routine Mild
BugFix : Numeric et constants encoding
BugFix : Liste d'exclusion d'obfuscation des membres
Supprimé : Fonctionnalitée "injection InvalidOpcodes"
- Modifié : Fonctionnalitée "Pinvoke hiding"
Modifié : Fonctionnalitée "String encoding"
Ajouté : Fonctionnalitée "ControlFlow"


Projet : https://bitbucket.org/3dotdev/dotnet-patcher
Release : https://bitbucket.org/3dotdev/dotnet-patcher/downloads/DotNetPatcher.7z

mardi 8 août 2017

DotNet Patcher : MAJ vers 4.5.2

BugFix : Les membres portant l'attribut SerializableAttribute sont exclus du renommage
BugFix : Meilleure détection des références incorporées
BugFix : Suppression des attributs ObsoleteAttribute
BugFix : Seules les fonctions Pinvoke avec valeur de retour renommées
BugFix : Ajustement d'obfuscation des fonctions Numeric et Mild
Modifié : Renommage des membres portants l'attribut IgnoreXmlAttribute


Projet : https://bitbucket.org/3dotdev/dotnet-patcher
Release : https://bitbucket.org/3dotdev/dotnet-patcher/downloads/DotNetPatcher.7z

lundi 8 mai 2017

dimanche 3 mai 2015

DotNet Patcher : MAJ vers 4.3.5

BugFix : Le stub créé par le packer ne contenait pas d'informations d'assembly (Custom Attributes)
Modifié : Création d'informations d'assembly (Custom Attributes) avec Mono Cecil.
Modifié : Pas de renommage des paramètres si le renommage des méthodes n'est pas coché !
Modifié : Suppresion du code non utilisé dans la librairie "Vestris.ResourcesLib" !
Modifié : Nettoyage et réorganisation du code source.

DotNet Patcher : MAJ vers 4.3.4

BugFix : Le fichier protégé ne se lancait pas à cause du Packer ---> le stub est désormais créé avec Cecil (plus avec Codedom !)
BugFix : Exclusion de certains corps de méthode lors de l'encryption de chaines, de booléen de chiffres...etc....
BugFix : Problème lors de l'encryption de chaines (ldarg opcode)
BugFix : J'exclue finalement le renommage des méthodes "overriden" (retour en arrière)
BugFix : Detection de l'argument constructeur portant la valeur "system.Resources.Tools.StronglyTypedResourceBuilder" avant le renomage des resources
BugFix : Mauvaise détection de la version du framework depuis la classe CodedomCompiler
Ajouté : Schema de renommage : Symbols
Modifié : Nettoyage et réorganisation du code source.

dimanche 1 mars 2015

DotNet Patcher : MAJ vers 4.3.2

BugFix : Le fichier protégé ne se lançait plus à cause du Packer !
BugFix : L'utilisation des styles visuels de la Progressbar avec affichage de texte causait une exception !

jeudi 19 février 2015

DotNet Patcher : MAJ vers 4.3

BugFix : Plus de message d'erreur à l'issu d'une détection de dlls dépendantes manquantes !
BugFix : En mode Packer le binaire est obfusqué avant d'être empaqueté et le Stub à son tour obfusqué
BugFix : Les fichiers résiduels sont tous supprimés dans le dossier User Temp
BugFix : Plus de crash si le shema de renommage comporte ce paramètre en addition : Empty Namespaces renaming + Not Types renaming
BugFix : Reinitialise l'etat des controles après la fin de tache !
BugFix : Impossible d'utiliser le Packer si l'analyse des dépendances n'est pas activée !
BugFix : Renomme correctement les informations d'assembly après avoir utilisé le remplacement d'icone !
Modifié : Améliorations des fonctions d'encodage et d'encryption (String, Boolean,Integer, Double, Single) !
Ajouté : Possibilité d'embarquer les dlls dépendantes en tant que ressources au lieu de les fusionnées depuis l'onglet "Dependencies" (Embedded ou Merged) avec les options Encryption et/ou compression.

samedi 29 novembre 2014

DotNet Patcher v4.6.6 : Obfuscator, Packer, Dependency merging, Assembly Changer, ....

[DESCRIPTION]

Cet utilitaire permet en toute modestie d'obfusquer vos binaires DotNet (C#, VbNet principalement).



Ne prends pas en charge les binaires codés en WPF !


[SCREENSHOT]



 [FONCTIONNALITES]

* Obfuscator/Packer detection
* Version infos changer
* Dependency detection/merging
* Requested level execution detection/changer
* Icon Changer
* Obfuscator/Packer :

- Renamer scheme (Alphabetic, invisible, dots, chinese, japanese, greek)
- Obfuscation & Packer scheme (Namespaces, Types, Methods, Properties, Fields, Events, Parameters, Variables, CustomAttributes)
- Obfuscation settings (rename resources content, resources encryption & compression, strings encryption, integers & booleans encoding, public calls hidding, Pinvoke calls hidding, anti-debug/tamper/dumper/ildasm, stackflow)
- Packer : Lzma compression


[PREREQUIS]
- Système d'exploitation Windows Vista, 7 et 8
- Le DotNet Framework 4 minimum
- Ne nécessite pas d'installation


[REMERCIEMENTS]
--> Xertz pour son theme que j'ai agrémenté pour DNP.
--> aeonhack's pour son "ThemeBase"
--> Gluck pour son projet ILRepack que j'ai intégré dans DNP
--> Ploxy (The-One) pour ses quelques conseils.
--> Xenocode pour ses conseils et astuces.
--> nash pour la batterie de tests des versions Beta.


lundi 20 octobre 2014

DotNet Renamer : MAJ vers 1.1.3.0

Modified : L'Assembly est chargé dans un AppDomain afin d'être déchargé correctement !
Added : Chargement des informations d'Assembly via Reflection.

--> Projet accessible ici

jeudi 9 octobre 2014

DotNet Patcher v4.0

Salut à tous,

Le développement de DotNet Renamer est arrivé à son terme depuis environ 2 mois et depuis j'ai remis le couvert avec la version 4 de DotNet Patcher.
En sommes voici les quelques ajouts (sans parler des améliorations apportées à la v3) :



Reste à savoir si cette mouture sera rendue publique. ;)

jeudi 15 mai 2014

DotNet Renamer : obfuscation d'assembly DotNet

Le code source de DotNet Renamer (librairie de renommage d'assembly) sera bientôt disponible sur mon Bitbucket


Cela fait maintenant 15 jours que je travail sur un vieux projet déterré de l'année passée !
Ce projet n'est en somme que l'ossature de mon dernier projet du même genre nommé : DotNet Patcher


Cette librairie permet actuellement le renommage des types et membres suivants :

  • Namespaces
  • Types
  • Methods
  • Properties
  • Fields 
  • CustomAttributes (uniquement l'attribut "AccessedThroughPropertyAttribute" !)
  • Events
  • Variables
  • Parameters
Il est bien évidement possible de tout paramétrer à souhait ou d'utiliser des paramètres définis (cf code en bas) ainsi que le choix des caractères de renommage aléatoire parmi lesquels :

  • Alphabétique (A à Z en minuscule et majuscule)
  • Chinois 
  • Braie
  • Invisible
Le renommage des noms de ressources est également pris en compte en adéquation avec le renommage des types et namespaces !

Voilà actuellement comment j'utilise ma librairie :

 
    Dim param As New Cls_Parameters("C:\AssemblyToRename.exe", "C:\AssemblyToRename-Renamed.exe")
    param.ReadAssembly()
 
    Dim context As New Cls_Context(param)
    context.RenamingAccept = New Cls_RenamerState() With _
       {.ReplaceSetting = Cls_RenamerState.ReplaceNamespaces.Empty, _
        .RenameSetting = Cls_RenamerState.RenameNamespaces.Full}
    context.RenamingType = Cls_RandomizerType.RenameEnum.Normal
 
    context.RenameAssembly()
    context.WriteAssembly()
    context.Clean()

L'explorateur de solutions de mon projet :



Je suis actuellement en train de commenter la source et ne cesserais de l'agrémenter les jours qui viennent.




A bientôt et bon codage !

samedi 26 avril 2014

DotNet String Renamer

[DESCRIPTION]

Cet outil, codé en VbNet permet de crypter vos chaines de caractères dans vos projets VBNET ou CSHARP. Cette encryption de chaines (type "String") est une première étape de l'obfuscation d'un projet (*.vbproj et *.csproj).
Lorsque vous aurez terminés le codage de votre projet et avant de le compiler, il vous suffira simplement de sélectionner votre fichier *.vbproj ou *.csproj afin de crypter vos chaines. Ouvrez votre projet crypté puis compilez votre binaire, observez le résultat.

[SCREENSHOTS]



[FONCTIONNALITES]

--> Affichage de tous les fichiers du projet portant l'extension "*.vb", "*.cs" (excepté les "*.designer.*")--> Affichage du code source du fichier sélectionné dans la liste.--> Recherche et chargement des types "String" dans une liste classée par numéro de ligne--> Sélection de la méthode d'encryption (Xor, Base64, Ascii et/ou méthodes combinées)

[PREREQUIS]

- Compatible avec des projets CSharp ou VbNet développés sur EDI VS2010 et VS2012 !
- Tout OS windows
- Framework 4
- Ne nécessite pas d'installation.