Ich besorge IL.Abrufen von IL-Code aus der DLL-Binärdatei
Ich mag. Net Reflektor-Tool von RedGate (Lutz zunächst). Ich habe bereits Bücher von Serge Lidin und Ecma-335. Es sieht so aus, als ob diese Dinge alles sind, was wir mit IL zu tun haben (außer ILAsm und ILDasm, natürlich).
Meine Aufgabe besteht darin, Assembly-Binärdatei zu analysieren und IL-Code zu erhalten. Es ist offensichtlich, dass die Assembly eine Binärdatei ist; Daher ist es nur eine Kette von Bytes. Um zu tun, was ich will, muss ich die Assembly-Struktur kennen: welche Header existieren, wie viele Bytes sie belegen, Offsets in Bytes, um Byte für Byte zu lesen, etc.
Lidins Buch beschreibt es, aber es ist nicht 100% klar für mich. Hat jemand versucht, DLL als Byte-Stream zu parsen? Um Metadaten und IL-Code als Byte-Streams zu erhalten, muss der IL-Byte-Stream analysiert werden, um die IL-Quelle zu erhalten. Ich möchte hier nicht nachdenken; Ich würde lieber nur mit der Binärdatei arbeiten.
Macht das Mono Cecil das gleiche? Selbst wenn, würde ich gerne wissen, wie es geht.
Und ja, ich versuche, ein anderes Rad wie .NET Reflektor zu schaffen, und ich möchte wissen, wie es gemacht wird. Wie jemand sagte: "Lutz sollte nicht unbedingt der einzige Mann auf der Welt sein, der es zu schaffen weiß".
BTW, wie funktioniert ISDasm? War es in .net codiert?
Irgendwelche Gedanken, Ressourcen, Beispiele?
Vielen Dank.
Wissen Sie, wo ich die Quellen herunterladen kann? Die folgende URL http://anonsvn.mono-project.com/source/trunk/cecil/decompiler funktioniert nicht für mich. Danke. – Antipod
Nun, es scheint zu funktionieren. Darf ich Sie bitten, es erneut zu versuchen? –
Ja, es funktioniert jetzt. Vielen Dank. – Antipod