ソフトウエアの本来の機能を保持したまま、そのソフトウエアを解析されることを防ぐためにソフトウエア難読化が行われることがあります。 不要なコードを紛れ込ませたり、コードの順番を入れかえたり、ソースコード自身に特殊なエンコードを行ったりしてソフトウエアの挙動を隠ぺいします。 ソフトウエアのアイデアやノウハウなどを保護する目的で研究されていましたが、現在では攻撃者が難読化された JavaScript やマルウエアを使用する例が増えています。これにはパターンマッチによる検知を防いだり、マルウエア作者の意図を秘匿する狙いがあると考えられています。
参考文書(日本語)
-
msdn Visual Studio 2008 Developer Center
Dotfuscator Community Edition 4.0
http://msdn.microsoft.com/ja-jp/library/ms227240.aspx
Weekly Report 2009-01-28号 に掲載