Конечно, программист-злобщик может всегда обфускать код лучше, чем вы можете деобфусить его. Определить поведение произвольного кода заранее - это неразрешимая проблема.
Более практично, сражение с обфускацией против деобфускации только что закончилось тем, кто прилагает больше усилий. Обфускация намного проще, чем деобфускация, но коммерческие обфускаторы, как правило, намного менее сложны, чем то, что вы можете написать вручную или с помощью специального обфускатора по разным причинам. Тот факт, что Моно Сесил достаточно хорош для дебюрования многих распространенных инструментов обфускации, не означает, что он может что-то сделать по поводу более позднего.
Если вы хотите увидеть некоторые из трюков, которые вы можете потянуть с зафусмированным кодом, взгляните на this crackme. Это байт-код Java, а не CLI, но идея похожа. На момент написания этой статьи никто даже не решил ее, несмотря на то, что трещины, состоящие из одного метода в одном классе. И он даже не использует Reflection, правильное использование которого делает автоматическую деобфускацию практически невозможной.
Реальный вопрос, однако, это то, что вы пытаетесь сделать с этим. Вы пытаетесь проверить произвольный код на наличие вредоносного поведения? Извините, но это действительно невозможно. Вам нужно запустить его в песочнице.
Вы хотите защитить себя от деобфускации? или против обфускации? –
против obfuscation – user2153949
в моем случае Я получаю сторонний код, который Im deobfuscated его – user2153949