2010-09-01 5 views
3

Je souhaite créer une application pouvant utiliser les classes .Net. Si je vais pour C#, je sais que certains outils comme Refactor est capable de désosser le code (jusqu'à ce que je ne paie pas des outils très coûteux capables d'éviter cela). Savez-vous si la même chose s'applique lorsque mon application est développée dans Visual C++ (avec/clr). Vous pouvez facilement mélanger du code managé avec du code non managé en appelant directement toutes les classes .Net dont j'ai besoin. Savez-vous si le résultat peut encore être inversé avec Reflector? Ce que je ne sais vraiment pas, c'est si l'application finale est compilée comme un binaire ordinaire (comme une application non gérée) fonctionnant directement sur le CPU ou si IL est encore généré avec JIT au chargement, donc cela peut être inversé ?Can Reflector reverse engineering d'une application C++/CLI

+0

Réflecteur, pas Refactor – Andrey

+0

Vous pouvez effectuer une ingénierie inverse pour n'importe quelle application. – Kugel

+0

vous pouvez, ne signifie pas le réflecteur peut –

Répondre

4

La réponse est à la fois. Les méthodes qui utilisent CLR seront compilées comme il, tandis que les méthodes qui n'utilisent pas clr seront compilées en code natif. Mais la meilleure réponse pour vous sera d'écrire quelques exemples de fonctions, de compiler la DLL et de l'ouvrir dans Refelctor.

+0

Avec '/ clr: pure', même les fonctions qui n'utilisent pas CLR seront compilées à MSIL. – MSalters

+0

Merci! Encore une chose. Tout semble se résumer à une solution unique: utiliser .net COM et tout mon code sera totalement non géré C++. Dans ce cas quelqu'un sait-il si IL est toujours présent et si l'application peut être plus sécurisée? –

+0

Le COM sera .Net et sera visible dans le réflecteur. Le C++ non géré restera non géré C++. –

Questions connexes