0

私はDynamicMethodを初めて使用するため、ダンプの質問かもしれませんので、ご案内ください。

バイナリ ファイルでシリアル化された C# メソッド ストアがあります。格納されたデータはこのようになります。

Token: 6000196 // Meta Token
Flags: 2
MaxStack: 8
LocalVarsSig: null
Code: 00 02 72 ED 0C 00 70 28 72 00 00 06 73 98 01 00 06 28 81 01 00 06 00 02 72 3F 0D 00 70 28 72 00 00 06 73 9F 01 00 06 28 83 01 00 06 00 2A
TokenPosArray: 3 8 D 12 19 1E 23 28
Exceptions: null

DynamicILInfo を使用して、この情報から DynamicMethod を生成しています。この IL メソッドのコーデック情報から人間が読める C# コードを取得する方法を知りたいですか?

[編集]

わかりましたので、この情報から DynamicMethod を構築し、 https: //github.com/drewnoakes/il-visualizer に示されている ILVisulizer を使用して IL コードを取得することができました

監視するために IL を送信すると、次のような命令コードが表示されます

IL_0000: nop        
IL_0001: nop        
IL_0002: ldstr      "SampleString"
IL_0007: call       System.String smethod_4(System.String)/GClass3+GClass6
IL_000c: newobj     Void.ctor(System.String)
IL_0011: stloc.0    
IL_0012: ldloc.0    
IL_0013: callvirt   Boolean get_FirstInstance()
IL_0018: stloc.3    
IL_0019: ldloc.3    
IL_001a: brtrue.s   IL_0033
IL_001c: nop        

プログラミングを使用してこのコードを c# に逆コンパイルする方法を知りたいですか?

4

0 に答える 0