.NETアプリケヌションの保護-それにもかかわらず、ニシンを包むものは䜕ですか

.NETアプリケヌションの保護-それにもかかわらず、ニシンを包むものは䜕ですか





このレビュヌにもかかわらず。 䞊蚘を衚面的なだけでなく誀解を招くものず考えおいるため、難読化ツヌルのレビュヌを自分で曞くこずにしたした。

関連する質問が1぀ありたす。この補品は脱保護から保護されおいたすか 難読化ツヌルのメヌカヌが正盎に譊告しおいるこずを考えるず、アセンブリは分解されたたたです。 そしお、これは.Netアプリケヌションのセキュリティ問題の基瀎です。 完党な保護は、さたざたな環境でアセンブリを開始するずいう䞍䟿さをもたらし、難読化はコヌドの条件付きオヌプン性をもたらしたす。 コヌドの受信、その可読性、および保護の削陀を耇雑にする問題を解決するために残っおいたす。



だから私たちが持っおいるもの

.Netアプリケヌションを保護するプログラムには2぀のクラスがありたす。

  1. プロテクタヌネむティブプロセッサラッパヌ

    同様のマシンは、難易床の䜎い難読化ツヌルず組み合わせお提䟛されたす通垞は、アセンブリメンバヌの名前の倉曎を提䟛したす。 ラッパヌにはさたざたなタむプがあり、サラマンダヌプロテクタヌで最も゚レガントに衚瀺されたすここでは難読化ツヌルは非垞に高品質です。難読化ツヌルの匱点ずいう意味での䟋倖はサラマンダヌですが、ここではデバッグず起動の䞡方で問題が発生する可胜性がありたす。



    代衚者 CodeVeil、Salamander Protector、.Net Reactor。



    利点いわゆる。 デコンパむラおよびILDASMのアクセス䞍胜。 しかし、実際には、このアクセス䞍胜性は明らかです。 .Netは、メむンメモリメモリ内にあるアセンブリの暩利を制限したす。アセンブリは、起動する前にディスク䞊のどこかに保存する必芁がありたす。

    短所より厳しいポリシヌ、りむルス察策の䞍適切な応答を䌎う環境でアセンブリを開始するこずに関する倚くの問題は、ナヌザヌがこの方法で保護された補品を恐れ始めるずいう事実に぀ながり、安党なアセンブリをデバッグできなくなりたす。 さらに、32ビット環境ず64ビット環境の䞡方で動䜜する安党なアセンブリを䜜成できないこず。 開発者はAnyCPU構成でプログラムをコンパむルしお、32ビット環境ず64ビット環境の䞡方で動䜜するこずができたすが、どちらか䞀方です。 たあ、実際に-明らかな利点。 トレッドメヌカヌは通垞、トレッドで保護する前にアセンブリを難読化するこずを掚奚しおいたす。これにより、保護の脆匱性が認識されたす。

  2. 難読化ツヌル

    これらは、.Net環境にずっおより自然な保護方法を提䟛したす。その埌、アセンブリは、起動ずデバッグのために远加のアドオンずシャヌマニズムを必芁ずしたせん。



    a。 MSサヌビスずむンタヌフェむスを䜿甚せずにメタデヌタにアクセスし、難読化されたアセンブリを生成するスタンドアロンの難読化ツヌル。぀たり、.Netアセンブリを操䜜するための独自のアクセスマシン、パヌサヌ、ゞェネレヌタヌ、およびその他のツヌルを備えおいたす。



    代衚者 Spices.Net難読化ツヌル、Dotfuscator、{SmartAssembly}



    利点保護機噚の遞択における倖郚サヌビスからの独立性、保護に察する広範囲で非暙準的なアプロヌチ。

    短所責任あるメヌカヌが正盎に譊告し、コヌドが分解されたたたであるためILDASMでない堎合、䜕らかの職人による逆アセンブラヌにより、゜ヌスコヌドはSSCLIたたはMonoで取埗できたす。



    b。 MSサヌビスに䟝存ここでのリストは倧きい-ILASM / ILDASMの操䜜、COM経由のアクセス、および.Net 2.0からのサヌビスの䜿甚から。 サヌビスeは暙準的でない䜕かを台無しにする機胜を提䟛するため、そのような機胜は明らかに制限されおいたす。



    代衚者サラマンダヌ難読化ツヌル、Skater.Net、WiseOwlからの振る舞いこれはほずんど未知の未知の難読化ツヌルですが、良質であり、先駆者の1人です。



    利点私は知りたせんが、いずれにしおも、サンショりりオは良い難読化ツヌルを提䟛したす。

    短所䞍安定性、サヌビスぞの䟝存、したがっお資金の制限Salamanderは、.Net 2.0や.Net 1.1などの異なるプラットフォヌムのアセンブリを含むプロゞェクトでは動䜜できたせん。 プラス-パラグラフaず同じ欠点。





開発者ぞの掚奚事項



それらはほずんどありたせん。開発の開始時に、プロゞェクトが難読化されるこずを忘れないでください。 これは、アセンブリの特定のメンバヌの可芖性を芏制する必芁があるこずを意味したす。これは、アセンブリを難読化する必芁があり、そうでないこずを意味したす。 難読化ツヌルの䞻な問題は、リフレクション/シリアル化の䜿甚です。 .Netには、メ゜ッドを呌び出したり、名前でアクセスしたり、構造化ストレヌゞやデヌタの読み取りにクラスを䜿甚したりするためのさたざたな可胜性がありたす。 難読化ツヌルはそのようなこずを認識できないため、コヌディングプロセスでいく぀かのルヌルを䜿甚しお、こうしたケヌスを難読化から比范的簡単に陀倖する䟡倀がありたす。





今-比范



あなたの時間を無駄にしないために、難読化ツヌルの倚くの代衚がテヌブルに含たれおいなかったずすぐに蚀うこずができたす。 はい。Dotfuscatorは、Microsoftが掚奚する補品であるため、このリストに含たれおいたすが、Dotfuscatorが䞻匵するすべおではない堎合もありたす。 たた、Smart Assemblyの将来は、䌚瀟が100䞇ドルでRed-Gateを賌入した埌、明確に呌ぶこずはできたせん-私芋、この取匕は䟡倀がありたせんでした。 珟圚、Reflectorはめったに曎新されず広範なプラグむンのセットを陀いお良奜です、SmartAssemblyで最もよく芋られたす。 SQLに関係する䌚瀟が難読化-逆コンパむラヌの垂堎に参入する理由Obfuscator-Decompilerパッケヌゞは生産的なアプロヌチですが、Salamander、Spices.Netにありたす-垂堎は非垞に具䜓的であり、倚くの有望なプロゞェクトが既に消滅しおいたすDecompiler.Netなどたずえば、Salamanderのずらされた䜍眮でさえ、V-Spot Eliminationテクノロゞヌをリリヌスしたせんでしたが、 このレビュヌでは、著者はそれを誇りに思っおいるず曞いおいたす唯䞀の質問は、リリヌスしなかったか、リリヌスしたしたか圌らは䜕かを実装し、実際に特蚱出願は9Rays.Netによっお行われたした。

だから



特城 Dotfuscator Spices.Net難読化ツヌル サンショりりオ難読化 {SmartAssembly}
詊甚版で 実際、Community Editionは最小限のセットです。 完党なビュヌを提䟛し、機胜に制限はありたせん難読化されたアセンブリに特別なりォヌタヌマヌクを付けたす-「Obfuscated by Spices.Obfuscator。Not for Commercial use」、完党なセットで提䟛されたす-GUI、VS Integration、MSBuild統合、コン゜ヌルおよびSDK

非営利プログラムを保護するために無料で䜿甚できたす。
制限-コン゜ヌルバヌゞョンが提䟛されたす。 機胜制限。
むンタヌフェヌス、自動化、統合 むンタヌフェむスはあたりありたせん。 簡単に蚀えば-いたあ、vsyuず色の堎合は...。

コン゜ヌルバヌゞョンが存圚したす。 ルヌルを適甚する可胜性がありたすが、かなり混乱したす。 ルヌルを適甚したすが、やや混乱したす。

自動化はありたせん。

MSBuildでの統合、アドむン圢匏でのVSずの統合。珟圚のプロゞェクトのビルドプロセスには統合されたせん。
Spices.Netの䞀郚ずしおのGUIバヌゞョンずコン゜ヌルの䞡方で提䟛されたす。 GUIバヌゞョンは、アセンブリを探玢するための倚くの远加ツヌルを提䟛したす。

自動化がありたす-Spices.Net難読化ツヌルを䜿甚しお独自の難読化ツヌルを䜜成する方法がCで提䟛されおいたす。 さらに、難読化むベントのステップVSビルドむベントに類䌌がサポヌトされおいるため、難読化プロセスのステップ間にカスタムアクションを挿入できたす。

MSBuildずVSの統合が存圚したす-プロゞェクトプロパティで難読化オプションを盎接構成し、゜リュヌションプロゞェクトを有効/無効にし、䞀般的に難読化をオフにするこずができたす。
GUIが付属しおいたす。

コン゜ヌルがありたす。

自動化はありたせん。

統合はありたせん。
玠敵なりィザヌドスタむルの気取らないむンタヌフェむス。

コン゜ヌルが存圚したす。

自動化はありたせん。

統合もありたせん。
耐タンパヌ性 スニッチモゞュヌルぱンタヌプラむズに配信され、䌁業の盗難を防ぐように蚭蚈されおいたす。 通垞の゜フトりェアの堎合、このプログラムのむンタヌネットぞのアクセスを無効にするか、単に保護を削陀するだけで十分です。 ありたす。 ハッキング、名前倉曎、たたは改ざんされたアセンブリは動䜜を停止したす。 ILASM / ILDASMラりンドトリップずアセンブリの単玔な名前倉曎の䞡方に察する保護぀たり、IDの倉曎-これには、アセンブリの厳密な名前の堎合はその名前ずフルネヌムの䞡方、およびバヌゞョン番号が含たれたす。

興味深いのは、このテクノロゞヌの導入埌、Spices.Netのハッキングされたバヌゞョンが芋぀からなくなり、SalamanderずSmartAssembly制埡フロヌを提䟛するこずです
いや いや
文字列暗号化 ありたす ありたす。 さらに-リ゜ヌス保護暗号化および圧瞮なし、ただし機胜したす

耐タンパヌ性
ありたす。 ありたす。 さらに-リ゜ヌスの圧瞮ず暗号化。
AntiILDASM、反逆コンパむル AntiILDASMは、逆コンパむルに察する反䜜甚はありたせん。 AntiILDASMは、逆コンパむルに反察ですReflectorは䜿甚したせんが、Salamander Decompilerは郚分的に䜿甚できたす。Spices.NetDecompilerから自動的に保護したす。 AntILDASMは、Salamander Decompilerから自動的に保護したす。 Antildasmは
未䜿甚のコヌドず宣蚀の削陀プルヌニング 5月 たぶん柔軟に 5月 たぶん。
゜フトりェアの透かし 5月 可胜停造防止機胜付き-぀たり、TamperProofテクノロゞヌが䜿甚されたす いや いや
制埡フロヌの難読化 デコンパむラヌによっお郚分的に認識可胜なものがありたす。 その代わりに、CodeAnonymizerテクノロゞヌは、逆コンパむラヌを凊理するより効果的な手段ずしお提案されおいたす。 はい、ただし逆コンパむラヌが認識できたす。

蚀及されたV-Spot Elimination-Spices.Net CodeAnonmizerで実装されたものず同様の未実珟技術
はい、ただし逆コンパむラヌによっお認識可胜
混合コヌドアセンブリを䜿甚する あたり良くない、サむズ最適化なし たぶんサむズの最適化ず はい、しかし䞍安定です 制限される堎合がありたす同様のコヌドに゚ラヌ報告は挿入されたせん
64ビットのサポヌト ありたす ありたす いや いや
難読化解陀StackTrace コミュニティ゚ディションではなく、゚ンタヌプラむズでも、難読化マップに基づいお非垞に䟿利ではありたせん ツヌルSpices.Netがあり、より詳现な無料゜リュヌションを提䟛したす。 いや 実装された゚ラヌ報告モゞュヌルがありたす。 ナニヌクな機胜。
メリット VSにはすべおの配信が含たれおいたす。 他の難読化ツヌルずは異なり、新しいバヌゞョンごずに.Netが最初に登堎したす-結局は内郚関係者です。 保護装眮の幅広い遞択。 他の難読化ツヌルが提䟛しない2぀のテクノロゞヌ。 独自の適切なデコンパむラを䜿甚するこずで、難読化者は䜕を保護する必芁があるかを理解でき、難読化者は䜕を保護する必芁があるかを理解できたす。

プラスのうち、ロシア語の運甚サポヌトず問題解決の建蚭的な名前も挙げられたす。
最叀の代衚者、質の高い保護。 シンプルで、小さな開発者の基本的なニヌズを満たし、圌らのために投獄されたすが、このため、保護具の良い歊噚を持っおいたすが、小ささは柔軟性がありたせん。
短所 䞍合理に高䟡です。 機胜ず仕䞊がりのリストが䟡栌ず䞀臎したせん。

サポヌトは無料ではありたせん。
豊富な蚭定ずツヌルが停止する堎合がありたす。 小芏暡開発者のニヌズではなく、業務甚のシャヌプニング。 圌らだけのために

すべおがコン゜ヌルバヌゞョンにありたす。
時代遅れの蚭定の柔軟性。 .Net 2.0のリリヌスで、圌らはすでにこのプロゞェクトを終了したしたが、Obfuscator + Protectorの組み合わせを残したした。 さたざたな.Netバヌゞョンのプロゞェクトで䜜業するこずはできたせん。 最近のバヌゞョンでは、.Netは䞍安定です。

サポヌトに぀いお連絡を取るのは難しく、長いこずです。
この優れた補品の将来は䞍明確です。 統合の欠劂、耐タンパヌ性はパフォヌマンスを䜎䞋させたす。 しかし、圌らが最初に提䟛できたのは、リフレクタヌからの保護でした。

以前は非垞に友奜的なサポヌトがありたしたが、今はわかりたせん。




䟡栌に぀いお



特別に䟡栌を比范したせんでした。 Dotfuskatorの䟡栌は高く、サポヌト率は障壁のようなものであり、明らかに倧䌁業に焊点を圓おおいたす。 他のメヌカヌにずっおは、「䟡栌は売り手ず買い手の䞡方に適したものである」ずいう原則の䜙地があるず蚀えたす。 たずえば、むンド人が完璧に習埗し、150ドルで400ドルの補品を賌入する方法を心配しおいないこずを亀枉するこずは、長い間実践されおきたした。 孊生アカデミックディスカりント、あらゆる皮類のMVPずMCP、ナヌザヌグルヌプずコミュニティのメンバヌ、非営利組織、地域ず囜、ブログぞの蚀及ず補品のロゎの短期間の投皿に察しお、未申告の割匕がありたす。 もちろん、補造業者はこれに぀いおサむトに曞いおいたせん。 最埌に、問題ファむルを提䟛するか、その逆を行うこずができたす-セキュリティホヌルを報告しおください。補品の品質の改善に぀ながったメヌカヌずの協力は歓迎されたす。

割匕を芁求しおみおください、しかし、あなたはそれを芋぀けるでしょう。 頑匵っお



PSこの蚘事の䜜成に積極的に参加した経隓豊富で優秀な人に招埅したいずいう芁望がありたす-私に連絡しおください。



All Articles