問題タブ [reflexil]

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 投票する
1 に答える
12771 参照

c# - 「モジュールにはアセンブリ マニフェストが含まれている必要があります。」

パッチを適用しようとしている C# .NET DLL があります。私は、(難読化解除のための de4dot と共に) Reflexil プラグインを備えた .NET Reflector を選択しました。Reflector は、私が見たいと思っていた C# をうまく表示することができ、Reflexil で CIL アセンブリにパッチを当てることができました。DLL を新しいバイナリとして保存しようとしたとき、Reflexil は [Signed Assembly] ダイアログ ボックスを表示し、[Remove Strong Name] を選択しました。

アセンブリをロードするコードを実行しようとすると、次のエラーが表示されます。

System.BadImageFormatException: ファイルまたはアセンブリ 'MyAssembly、Version=1.0、Culture=neutral、PublicKeyToken=somehash' またはその依存関係の 1 つを読み込めませんでした。モジュールには、アセンブリ マニフェストが含まれている必要がありました。

この問題を解決するにはどうすればよいですか?

さらに、パッチを適用した DLL で peverify.exe を使用すると、次のエラーが表示されます。ファイルが見つからないか、ヘッダーが正しくありません。これは、Reflexil のパッチ適用プロセスに何か問題があると私に思わせていますか?

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

c# - 「名前空間には、フィールドやメソッドなどのメンバーを直接含めることはできません」

Reflexil を使用して NET.reflector にこのコードを使用しようとしています。コードをこれに置き換えようとしています:

}

しかし、コンパイルしようとするとエラーが発生します。

これは私が思うUnityコードです。私はそれほど経験がありません。誰かが私のためにこれを修正できますか? または、何をすべきか教えてください。ありがとう!

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

.net - Reflexil でコードを挿入するときに .NET バージョンを選択する

.NET 2.0 でコンパイルされたソース コードのない .NET dll ファイルがあります。この dll にいくつかのフィールドを追加する必要があったため、Reflexil を (JustDecompile と組み合わせて) 使用しました。Reflexil でインジェクト フィールド オプションを使用しました。保存して再読み込みしたときに参照を確認したところ、「mscorlib 4.0.0.0」が追加されていることがわかりました。Reflexil にフィールドを注入してもらいたいのですが、.NET 4.0 の依存関係は追加しないでください。.NET 2.0 として再コンパイルする設定を探しましたが、これはどこにもありません。

関数を編集するとき、オプションとして使用するコンパイラを選択できます (2.0、3.5、4.0)。フィールドを追加するときに、これと同じオプションが必要です。

誰でもこの問題についての洞察を持っていますか?

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

plugins - .NET リフレクター + Reflexil プラグイン

reflexil v2.0 プラグインをインストールしたばかりですが、メソッドを強調表示した後にクリックすると、削除、名前変更、リフレクター オブジェクト モデルの更新の 3 つのサブメニューしか表示されません...名前を付けて保存、挿入メニューが表示されません..これを解決するのを手伝ってくれる人はいますか?

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

cil - Reflexil を使用して IL の CommandText に文字列を割り当てる

少し前に開発されたアプリケーションのクエリを編集する必要があります。しかし、ソースコードはなく、コンパイルされた dll しかありません。以下は、Telerik JustDecompile によって逆コンパイルされたソースです。

Reflexil で得られる IL は次のとおりです。

今私が欲しいのは:

com.CommandText = "Select * form tbl_user where u_name = 'admin'"

オフセット115の後に文字列をロードしようとしました

しかし、出力は

そのため、変更を削除し、オフセット 117 の後に次のように同じ文字列を追加します。

出力が変更され、私が望むものにいくらか近づいたように感じますが、それでも正しくありません。出力は次のようになりました。

私が欲しいのは:

com.CommandText = "select * from tbl_user where u_name = 'admin'"

また、オフセット 122 の後に callvirt オペコードを追加しようとしましたが、ロードされた .NET フレームワークが 4.6.1 の場合、System.Data.SqlClient.SqlCommand で set_CommandText メソッドを見つけることができませんでした。

これどうやってするの?よろしくお願いします。ありがとう

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

c# - 署名済み dll にパッチを適用する方法

古いバージョンの DevExpress に依存するサードパーティ ライブラリを使用する C# プロジェクトがあります。このバージョンの DevExpress の dll(DevExpress.Utils.v9.2.dll) にバグがあります。.NET Reflector と Reflexil を使用して dll にパッチを適用し、パッチを適用した dll を使用して古いものを置き換えます。次に、ソリューションを再構築すると、Visual Studio に次のエラーが表示されます。

エラー CS0012 タイプ 'XtraForm' は、参照されていないアセンブリで定義されています。アセンブリ 'DevExpress.Utils.v9.2, Version=9.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' への参照を追加する必要があります。

問題の原因となる元の dll が署名されているようです。厳密な名前を削除しようとしましたが、機能しません。解決方法は?