2017-09-15 13 views
1

Notre équipe d'audition examine une application ERP (.net) provenant d'un client. Après avoir examiné le code source, nous examinons également les DLL du fournisseur en les désobuscantant, puis en examinant le processus pendant son exécution.Deobfuscate .net Application. Missing Assembly/DLL chargé à l'exécution

Nous avons trouvé un assemblage qui a été chargé et exécuté en cours d'exécution. Nous ne pouvons plus trouver d'informations sur cet assemblage. Nous supposons que cette DLL est chargée à partir des octets et attachée à l'appdomain. Ces octets peuvent être dans l'une des ressources ou à partir d'un IsolatedStorage. Nous ne savons vraiment pas comment attraper cette DLL, donc nous pouvons essayer de la décompiler.

Quelques informations: - Grâce à l'explorateur de processus, nous sommes en mesure de découvrir plusieurs chemins dll chargés à partir de l'application. Liste des assemblages .net et des chemins. Mais pour cet assemblage, il n'y a pas de chemin, seulement son nom d'assembly.

Est-il possible d'extraire cette DLL de la mémoire et de l'enregistrer? Que pouvons-nous faire pour au moins savoir plus d'informations sur cet assemblage?

Merci, Conan.

+0

Je ne pense même pas que la durée de la licence de tels assemblages vous donnerait le droit d'effectuer une rétro-ingénierie du code, de sorte que de telles discussions seraient inappropriées. –

+0

Je comprends votre préoccupation. Mais lorsque vous travaillez avec des données financières et des systèmes hérités où vous n'avez pas le code source complet, ces actions sont parfois la seule option. Je ne peux pas révéler tous les détails du projet, mais j'imagine qu'une entreprise a été acquise et que beaucoup d'informations et de processus commerciaux n'ont pas été documentés. Et en plus de cela, nous avons un calendrier pour rendre tous les systèmes compatibles avec la réglementation et la conformité. –

Répondre

0

Il existe un outil sur Internet appelé Megadumper par Code Cracker ... c'est un outil de vidage de la mémoire. Vous exécutez simplement le programme et dans Mega Dumper faites un clic droit sur le processus et sélectionnez .net dump. Tous les fichiers que le processus utilise seront sauvegardés depuis la mémoire dans un dossier de dumps où le processus a été démarré. Assurez-vous de lancer Mega Dumper en tant qu'administrateur.

+0

Merci. Cet outil est vraiment incroyable. Je pourrais jeter quelques-unes des ressources .net dont j'avais besoin pour explorer. Mais malheureusement, pas tous. Les assemblages les plus importants sont encore obscurcis dans un niveau que JustDecompile ne trouve rien à l'intérieur. –

0

Exécutez les fichiers obfusqués via de4dot. Puis ouvrez les nettoyés en dnspy. Vous verrez alors le code source deobfuscated beaucoup mieux.

+0

@Lex Li Donc, si le vendeur met un exploit de porte dérobée dans son code et ne vous en parle pas alors c'est correct? L'audit de leur code pour vérifier les failles de sécurité est parfaitement légal tant que les assemblages restent internes. Maintenant, si le PO décide de copier la source et de la distribuer sous son propre produit, ce serait illégal. – user8555433

+0

Encore une fois, vous n'avez pas raison de certaines choses. Windows et Mac OS sont des codes natifs. Le code que l'OP essaye de désobscurcir est un code .net qui est beaucoup plus facile. De4dot est un outil générique de désobfuscation qui désobscurcira de nombreux obfuscateurs qui ne sont pas sur la liste. Si vous avez essayé de l'utiliser au lieu de deviner, vous verrez ce que je fais référence. – user8555433