問題タブ [confuserex]
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.
c# - 自分の混乱したdllのパブリックメンバーにアクセスする
以前、アプリケーションの盗難を防ぐ方法について質問したことがありますが、回答がありました。
無料で WPF で正常に動作するconfuserEXを使用することにしました。しかし、ドキュメントを確認したところ、コード内のすべての文字列の名前が他の意味のない文字列に変更されていることに気付きました。
私の質問は、任意の文字列が別の無意味な文字列に置き換えられた場合、独自の dll を使用してその中のクラスのパブリック メンバーまたは関数にアクセスするにはどうすればよいかということです。
c# - ConfuserEx: Mono の System.TypeInitializationException
難読化されたアプリケーションを mono 上で実行できません。難読化されていないモノで動作します。win7 で .net フレームワークを使用すると、両方のバリアントで問題なく起動します。
これは私が得る例外です:
未処理の例外: System.TypeInitializationException: '<Module>' の型初期化子が例外をスローしました。---> System.NullReferenceException: オブジェクト参照が .‮‮‎‫‎âªâ€â€‹â€ªâ€«âªâ¬â€Žâªâ¯â のオブジェクトのインスタンスに設定されていません€«â‌​â€â¯â€â«â¯â¬â€â«â€Œâ€®ââ«â€â€ªâ€«â‬‫‪‪⠀® () <0x40884310 + 0x00874> in :0 at ..cctor () <0x40884100 + 0x00017> in :0 --- 内部例外スタック トレースの終わり --- at Vintagestory.Server.Program.Main (System.String [] args) <0x408814c0 + 0x002bb> in :0 [エラー] 致命的な未処理の例外: System.TypeInitializationException: '' の型初期化子が例外をスローしました。---> System.NullReferenceException: オブジェクト参照が のオブジェクトのインスタンスに設定されていません。
例外は、同じプロセスで難読化された外部ライブラリから追加のコードをロードする必要がある時点で発生するようです。
どうすればこれをデバッグ/修正できますか?
更新: Windows Mono でも発生するようです
Update2: これは、バグの github issue エントリで、詳細が記載されています: https://github.com/yck1509/ConfuserEx/issues/535
winforms - ConfuserEx Winforms セルフホステッド WebAPI
Winforms の自己ホスト WebAPI プロジェクトを混乱させようとしています。exe ファイルと 2 つの dll ファイルに ConfuserEx UI を使用しています。パッカーはなく、Normal に設定します。
exeが混乱すると、実行時に次のエラーが発生します。
System.EntryPointNotFoundException: アプリの読み込み中に次のエラーが発生しました。
クラス「????????????????????????????????????????」に「構成」メソッドが見つかりませんでした。 ?, MyApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Web サーバーを起動するための Startup クラスの Configuration メソッドが見つからないようです。
私は ConfuserEx をまったく初めて使用します。
ありがとうございました
c# - CSharp プロジェクト ファイルで難読化が成功したかどうかを確認する方法
ConfuserEx が正しく実行されているかどうかを確認し、そうでない場合はコンパイル プロセスを強制終了するために、CSharp プロジェクト ファイルに含めることができるコードはありますか? リフレクションを使用して、クラス名がまだ存在するかどうか (つまり、難読化されていないかどうか) を確認しますか?
更新: これは.csproj
、難読化ルーチンを呼び出すファイル内のコードです。
c# - ConfuserEx - 公開時にのみ依存関係を解決できない
ConfuserEx の使用 - ファイルを正常にビルドする場合は問題ありませんが、公開モードの場合は次のエラーが発生します。
[エラー] 'TheProgram.exe' の依存関係を解決できませんでした。1> 例外: dnlib.DotNet.AssemblyResolveException: アセンブリを解決できませんでした: mwqJVcPLiNUjsUEcAQtUUhNeTADJ、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null E:\Source\Public\Confuser2\dnlib\src\DotNet\IAssemblyResolver.cs:line 113 で 1> e:\Source\Public\Confuser2\Confuser.Core\ の Confuser.Core.ConfuserEngine.Inspection(ConfuserContext コンテキスト) でConfuserEngine.cs: 264 行目
通常、これらの種類のエラーでは、アセンブリを<probePath>
プロジェクト ビルド ファイルに含める必要がありますが、アセンブリ名が既に難読化されているため、これは既に難読化されているものへの内部依存関係のようです。
誰もがこれを照らすことができる光は大歓迎です。