1

私はILをちりばめています。

私は RedGate の .Net Reflector ツールが好きです (最初は Lutz)。私はすでに Serge Lidin の本と Ecma-335 の本を持っています。これらは、IL で作業する必要があるすべてのようです (もちろん、ILAsm と ILDasm を除く)。

私の仕事は、アセンブリ バイナリ ファイルを解析し、IL コードを取得することです。アセンブリがバイナリ ファイルであることは明らかです。したがって、これは単なるバイトのチェーンです。私が望むことを行うには、アセンブリ構造を知る必要があります。どのヘッダーが存在するか、それらが占めるバイト数、バイトごとに読み取るためのバイト単位のオフセットなどです。

Lidin の本にはそれが説明されていますが、私には 100% 明確ではありません。誰かが DLL をバイト ストリームとして解析しようとしましたか? メタデータと IL コードをバイト ストリームとして保持するには、IL バイト ストリームを解析して IL ソースを取得しますか? ここではリフレクションを使用したくありません。むしろ、バイナリファイルだけで作業したいと思います。

モノセシルも同じですか?あったとしても、やり方が知りたいです。

はい、私は .NET Reflector のような別のホイールを作成しようとしており、その作成方法を知りたいです。誰かが言ったように、「世界でルッツだけが作り方を知っているとは限らない」.

ところで、ISDasm はどのように機能しますか? .netでコーディングされましたか?

考え、リソース、例はありますか?

ありがとうございました。

4

2 に答える 2

3

Mono.Cecil はまさにあなたがやりたいことを行います。そのため、ソース コードを確認することをお勧めします。

実際、Jb Evain による Cecil.Decompiler という名前の進行中のプロジェクトがありオープン ソースの .NET デコンパイラである Cecil をベースにしています。

于 2009-08-25T15:15:22.797 に答える
0

直接使用できますildasm

ildasm.exe MyFile.dll /output:MyFile.il

プログラム内から自動化できます。

于 2009-08-25T15:10:51.653 に答える