SmartAssemblyのようなプログラムですが、C ++の場合は?
-
12-11-2019 - |
質問
http://www.red-gate.com/products/dotnet - 開発/スマートアセンブリ/
C ++用のSmartAssemblyのようなプログラムは、リンクされたDLLの(サイズを縮小するため)からすべての不要なコードを削除し、それらを単一のEXEにパックしてからそれを難読化しますか?1つの素敵な小さなセキュアexeを作る?
私は私が作る.NETプログラムのためにスマートアセンブリが大好きです。
ありがとう!
解決
はい、そのようなツールはリンカと呼ばれます。アプリケーションをコンパイルした後、一般的に実行されますが、ほとんどの統合開発環境では、「ビルド」のような賢い名前を持つ単一のステップとして表示されます。
あなたが不要なコードを削除するためにジャンプする必要があり、C#のような管理言語のための「難読化」は、C ++ には絶対に必要ありません。リンカは、コードが使用する関数にのみリンクします。すべてがバイナリにコンパイルされているので、それはすでに難読化されているのと同じくらい難読です。
DLLの内容にリンクしていないものはありません。DLLのポイントは、実行可能ファイルによって参照されている動的にであることです。なぜそれが「動的リンクライブラリ」と呼ばれます。コンパイル時に静的にリンクされているコードライブラリが必要な場合は、DLLの代わりに静的ライブラリを使用する必要があります。
所属していません StackOverflow