Laden...

Decompiler schreiben

Erstellt von CyberBoy vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.389 Views
C
CyberBoy Themenstarter:in
2 Beiträge seit 2010
vor 13 Jahren
Decompiler schreiben

Hallo,
mit dem Reflector kann man ja .NET Assemblies dekompilieren.
Meine Frage: Kann man so etwas auch selber implementieren?
Also, nur das Dekompilieren einer Assembly?

Grüße,
CyberBoy 😃

1.002 Beiträge seit 2007
vor 13 Jahren

Hallo CyberBoy,

herzlich Willkommen auf myCSharp.de!

Meine Frage: Kann man so etwas auch selber implementieren?

Klar kann man das — irgendwie ist der Reflector ja schließlich auch entstanden 😃.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

309 Beiträge seit 2008
vor 13 Jahren

Klar, kann man das.

Die Stichwörter dazu sind Reflection und Mono.Cecil, frag mal Floste 😉
An den IL-Code kommt man recht schnell (dafür gibts auch das Tool ildasm, das im .net SDK, enthalten ist).
Das größere Problem ist aus dem IL-Code wieder lesbaren C# code zu machen.
Aber mit IL-Spy gibt's ja jetzt auch eine Open-Source Alternative zum Reflektor, schau die einfach mal den Code davon an.

using System;class H{static string z(char[]c){string r="";for(int x=0;x<(677%666);x++)r+=c[
x];return r;}static void Main(){int[]c={798,218,229,592,232,274,813,585,229,842,275};char[]
b=new char[11];for(int p=0;p<((59%12));p++)b[p]=(char)(c[p]%121);Console.WriteLine(z(b));}}

1.130 Beiträge seit 2007
vor 13 Jahren

Die Stichwörter dazu sind Reflection und Mono.Cecil, frag mal Floste 😉 Jade.NET (C# - Decompiler) 😁 hehe

-Man sollte sich mit il-code auskennen
-Generell in c# fitt sein
-Sich Gedanken über Algorithemn machen und am besten etwas Lektüre
-Eine gute Repräsentation im Ram ist wichtig, mit der man arbeiten kann und die hat es in diesem falle ziemlich in sich. (Eine If-Anweisung hat z.b. einen oder zwei Blöcke an untergeordneten Anweisungen und dazu noch Parameter, die ihrerseits Anweisungen mit Parametern sind)

Es ist ziemlich viel Arbeit, sowas selber zu schreiben, das is mit 15 doch ein sehr ambitioniertes Ziel.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

Gelöschter Account
vor 13 Jahren

Hallo Floste,

Der Source von deinem (wirklich coolen) Decompiler ist ja nicht offen.
Wenn ja würd ich wohl die ich geh ungefragt updaten Funktion sofort entfernen.
Vielleicht spendierst du uns aber bei Gelegenheit ein minimales Mono.Cecil Tutorial.
Das wäre sehr sehr cool.

C
CyberBoy Themenstarter:in
2 Beiträge seit 2010
vor 13 Jahren

Hi,
danke für die schnelle Hilfe.

-Man sollte sich mit il-code auskennen
-Generell in c# fitt sein
-Sich Gedanken über Algorithemn machen und am besten etwas Lektüre
-Eine gute Repräsentation im Ram ist wichtig, mit der man arbeiten kann und die hat es in diesem falle ziemlich in sich. (Eine If-Anweisung hat z.b. einen oder zwei Blöcke an untergeordneten Anweisungen und dazu noch Parameter, die ihrerseits Anweisungen mit Parametern sind)

Es ist ziemlich viel Arbeit, sowas selber zu schreiben, das is mit 15 doch ein sehr ambitioniertes Ziel.

Na dann lasse ich das lieber.
Ich programmiere noch nicht so lange und auch noch nicht so gut.
Ich bin noch bei C# 2.0, die Features von 3.0 lerne ich grade.

Grüße,
CyberBoy

C
1.214 Beiträge seit 2006
vor 13 Jahren

Warum wolltest du dann einen Decompiler schreiben? Das stell ich mir jetzt nicht grad spannend vor.