問題タブ [smartassembly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
770 参照

c# - ILMerge や SmartAssembly などのツールとマージすると、内部クラスはプライベートになりますか?

最近、Windows アプリケーション内で .Net ライブラリをマージできるツールをいくつか見つけました。

本当の問題は、ライブラリの動作がどのように変化するかです。

  1. 内部クラスはライブラリの内部のままですか? それとも、マージされたアプリケーションの内部になりますか?
  2. ライブラリが誤動作する可能性はありますか?

拡張質問:

  1. 内部のアセンブリをマージするときは、それらがマージされるアプリケーションで使用できないようにプライベートにする方がよいのではないでしょうか?
0 投票する
2 に答える
708 参照

vb.net - 難読化中のエラー

内部目的で vb.net を使用してプロジェクトを開発し、それを難読化しました。以下のようにエラーを投げています。

「タイプ 'e' のパブリック メンバー 'Var1' が見つかりません。」</p>

コード:

フォーム (FrmMain という名前) は、呼び出し元のプロシージャからこのサブルーチンへのパラメーター 'frm' に渡されます。Var1 などは、その形式のパブリック変数です。

私たちが試した難読化ツールは –

  1. スマートアセンブリ 6

  2. PreEmptive Dotfuscator および Analytics CE (Visual Studio 2012 に付属)

難読化なしでexeは正常に動作しています。

サブルーチンで変数 'Var1' を割り当てているときにエラーがスローされます。コード行を次のように変更すると、難読化された exe が正常に動作します。

FrmMain.Var1= Row("ChangesDbName").ToString

難読化には遅延バインディングが欠けていると考え、小さなサンプル プロジェクトで同様のタイプのコードを試しました。しかし、それにはエラーはありませんでした。この小さなコードを添付しました。しかし、その大きさのため、オリジナルのプロジェクトをアップロードすることはできません。

どうすればエラーを追跡できますか?

私のサンプル アプリケーションのソース コードは、ここにあります。

0 投票する
1 に答える
656 参照

.net - Smart Assembly で PostSharp アスペクトを含むアセンブリをマージする方法

PostSharp アスペクトを含むアセンブリを SmartAssembly を介してプロジェクトにマージする際に問題が発生し、誰か助けてくれるかどうか疑問に思っていました。

メイン アセンブリはかなり単純で、次のようになります。

MethodDebugLogging アスペクトは、同じアセンブリ内にある場合は正常に機能しますが、それを独自のアセンブリに追加し、SmartAssembly を介してマージすると、次のようになります。

そして、アスペクト自体はかなり単純です:-

例外から、アスペクトを含むアセンブリをマージすると、Postsharp Distributable のアスペクト名前空間が取り除かれるように見えますが、誰かがこれに光を当てることができますか?

ありがとう

ポール

0 投票する
2 に答える
523 参照

obfuscation - エラーを自動的にログに記録し、SmartAssembly でアプリケーションを終了します

一般的なコードの難読化と、アプリケーションでのエラー報告の両方にSmartAssemblyを使用しています。

アプリケーションで未処理の例外が発生した場合、例外をログに記録し、ユーザーの操作なしでアプリケーションを終了したいと考えています。これを可能にする SmartAssembly プロジェクトを作成することは可能ですか?

SmartAssembly GUI とコマンドラインでプロジェクトを設定しようとしましたが、うまくいきませんでした。以下は私が試したコマンドと引数ですが、これまでのところ、ユーザー入力なしでアプリを終了し、エラーをログに記録する方法を特定できません。

SA プロジェクトを作成します。

プロジェクトをビルドします。

0 投票する
1 に答える
455 参照

obfuscation - SmartAssembly でのポータブル クラス ライブラリの難読化

次の構成でポータブル クラス ライブラリを作成しました。 ここに画像の説明を入力

この後、ライブラリを SmartAssebly 6.8 に追加してビルドしようとしましたが、次のエラーが発生しました。 ここに画像の説明を入力

これを回避する方法は?SA は正しい mscorelib.dll を見つけましたが、なぜ System.Console が必要なのですか?

0 投票する
1 に答える
3316 参照

c# - MahApps.Metro を単一の exe にバンドルする方法

MahApps.Metro が原因で、SmartAssembly 6 (評価/トライアル) を使用して、C# WPF プロジェクトのすべての依存関係を単一の exe にバンドルするのに非常に苦労しています。

この結論は、MahApps.Metro だけで完全に空のプロジェクトを作成し、それでもバンドルできない場合に導き出されました。

内部例外で例外をスローしますSystem.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

私はこれを解決するために1日半を費やし、エラーをグーグルで調べ、見つけることができるすべての提案を試し、公式のMahApps.Metroチャット(https://gitter.im/MahApps/MahApps.Metro)に投稿しました。System.Windows.Interactivity dll を削除、追加、別のパスに移動するなど、あらゆる種類のバリエーションを試しました。

NuGet の最新の MahApps.Metro パッケージと .NET 4.5 を使用します。プログラムは、Visual Studio 2012 から実行した場合、またはアプリケーションをデバッグ/リリースから実行した場合に機能します。

以前にこの問題に遭遇した人はいますか? どのように解決しましたか?問題はバンドル アプリケーション (SmartAssembly 6) または MahApps.Metro にありますか? 他に、MahApps.Metro で動作することを知っている、または考えているバンドル プログラムはありますか?

0 投票する
1 に答える
899 参照

c# - SmartAssembly は public 型を難読化します

このフォームを難読化して「デバッグ」すると

出力は次のようになります。

名前: Form1
フルネーム: #Yab.#Zab


質問
なぜFullName難読化されているのですか?
Form1public であるため、SmartAssembly はそれを無視すると思います。

追加情報
Form1public partial、designer.cs です。

私の SmartAssembly セットアップは次のようになります。

0 投票する
1 に答える
1071 参照

vb.net - .NET難読化 [SmartAssembly]

SmartAssembly と .NET アプリケーションに関する簡単な質問です。- 現在、このソフトウェアを試していますが、コードが難読化されているようですが、My.Settings はまだプレーン テキストで表示されていますか?

そのため、(.NET リフレクターを使用して) コードを難読化する前は、文字通りほとんどすべてを見ることができました。パスワード、IP、MySQL 接続文字列などの多くの情報を含む My.Settings クラスを含みます。

そこで、RedGate の SmartAssembly を使用してコードを難読化し、すべてのクラス/関数などがランダムなシンボルで表示されるようにしましたが、いくつかの項目 (ここでも My.Settings を含む) は変更されていませんか?

SmartAssembly スクリーンショット ここに画像の説明を入力

難読化された .NET リフレクターの結果 ここに画像の説明を入力

0 投票する
1 に答える
1394 参照

msbuild - ビルドと公開の間の MSBuild カスタム (難読化) ステップ

CI サーバー上に構築している Web アプリケーション (WebAPI Web サービス) があります。VS2013、ファイル システムへの公開プロファイル (*.pubxml)、および CI サーバー タスクからの以下のコマンドを使用して、正常にビルドおよび公開します。

ただし、ソフトウェアを難読化する必要もあります。難読化ツール (Red Gate Smart Assembly) は、csproj ファイル内に配置された以下の xml を介して呼び出されます。

これは正常にビルドおよび公開されているように見えますが、コマンド ライン出力を調べたところ、難読化の前に公開が行​​われていることがわかりました。

明らかに難読化はビルド後に行う必要がありますが、公開前に行うことは可能ですか?

「BuildDependsOn」ノードを介して難読化を呼び出すように *.pub.xml ファイルを編集するなど、いくつかのことを試しましたが、これによりビルドの前に難読化が実行されます。

ビルドをパブリッシュから分離することは不可能に思えます。現時点で私が持っている唯一のオプションは、2 回ビルドすることです。2 回目のパブリッシュでは、最初のビルドから難読化されたファイルが取得されます。

0 投票する
0 に答える
120 参照

asp.net - Smart Assembly - プロジェクトの作業を妨げるものは何ですか?

多くのプロジェクトを再利用するいくつかの ASP.NET アプリケーションがあります。まあ言ってみれば

ソリューション/アプリ A にはプロジェクト p1、p2、p3 が含まれ、ソリューション/アプリ B にはプロジェクト p2、p3、p4 が含まれます

両方のアプリケーションですべてのプロジェクトを難読化しようとしましたが、どちらも機能しません。アプリケーション A で p1、p2 を難読化すると、機能します。しかし、アプリ B で p3 と p4 を喜んで難読化することができ、それも機能します。

そのため、p3 を難読化できる場合とできない場合があります。これはソリューション レベルの問題ですが、私たちの質問は、なぜですか? より一貫性のある難読化動作を実現するために、何を回避または確認する必要がありますか?

ありがとう

編集 1

「プロジェクトが機能していないと定義するものは何ですか?」通常、何らかの DLL の問題が発生します。これは、どこかで参照が適切に理解されなくなったことを示唆しています (多くの場合、マージおよび難読化の代わりに埋め込まれている外部 DLL)。そのため、通常の起動時にエラーが発生します。