AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

dekompilieren der MSIL

Ein Thema von DelphiAndreas · begonnen am 6. Jul 2008 · letzter Beitrag vom 13. Jul 2008
Antwort Antwort
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#1

dekompilieren der MSIL

  Alt 6. Jul 2008, 15:59
Hallo!

Ich habe ein Problem mit einem VB.net-Programm, von dem mir leider der Code verloren gegangen ist (sicherungskopie hätte geholfen, ich weiß, darüber ärgere ich mich auch schon länger). Hat jemand einen Decompiler, der nachweislich und gut funktioniert? Ich habe etwas gefunden, leider produziert der ziemlich unbrauchbare Dateien...

Grüße
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: dekompilieren der MSIL

  Alt 6. Jul 2008, 16:07
Versuche es einmal mit Lutz Roeders Reflector + http://www.denisbauer.com/NETTools/F...assembler.aspx
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#3

Re: dekompilieren der MSIL

  Alt 6. Jul 2008, 16:17
genau den habe ich benutzt, das gibt aber 45 Fehler beim erneuten kompilieren und die designs der einzelnen forms zeigt er mir auch nicht mehr an, nur einen Fehler. Kann das unter Umständen am verwendeten .net-Framework liegen? Ich habe aber auch schon probiert die Dateien mit 3.5 zu kompilieren, das ändert nichts. Sonst bleibt mir wohl nur der Weg alle Fehler von Hand zu bearbeiten...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: dekompilieren der MSIL

  Alt 6. Jul 2008, 18:08
Zitat von DelphiAndreas:
das gibt aber 45 Fehler beim erneuten kompilieren [...] Kann das unter Umständen am verwendeten .net-Framework liegen?
?
Generell ist der Reflector umwerfend gut, der erzeugte Code aber auch nicht zum Neukompilieren gedacht. Wenn beispielsweise Lambda-Expressions benutzt werden, wirst du einige unkompilierbare Methodennamen finden, die solltest du aber einfach löschen können.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#5

Re: dekompilieren der MSIL

  Alt 6. Jul 2008, 18:22
wenn der code nicht zum neukompilieren gedacht ist, wie löse ich dann am besten mein Problem? Ich möchte das Programm nicht komplett neu schreiben...
Lambda-Expressions habe ich nicht verwendet, soweit ich weiß gibt es die erst ab .net 3.0 und das Programm ist noch mit 2.0 geschrieben.
Die Fehler sind ähnlich diesem hier:
Code:
Catch obj1 As Object When (?)
                ProjectData.SetProjectError(DirectCast(obj1, Exception))
                goto Label_00BC
            End Try
gibt folgende Fehlermeldung
Code:
'Catch' cannot catch type 'Object' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. (BC30392) - C:\...]\frmExport.vb:288
und wenn ich das Design öffnen will:
Code:
Syntax errors in C:\[...]\frmExport.vb:
-- line 288 col 40: invalid SimpleNonInvocationExpression
Achso, ich benutze SharpDevelop, aber daran kann es doch nicht liegen, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: dekompilieren der MSIL

  Alt 7. Jul 2008, 18:39
Zitat von DelphiAndreas:
Code:
Catch obj1 As Object When (?)
                ProjectData.SetProjectError(DirectCast(obj1, Exception))
                goto Label_00BC
            End Try
gibt folgende Fehlermeldung
Code:
'Catch' cannot catch type 'Object' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. (BC30392) - C:\...]\frmExport.vb:288
Das könnte wirklich ein Bug im Reflector sein. Da bleibt dir wohl nichts anderes übrig, als alle Stellen (ggf. mithilfe der C#-Übersetzung, die dürfte im Allgemeinen verlässlicher sein) von Hand auszubügeln.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#7

Re: dekompilieren der MSIL

  Alt 13. Jul 2008, 10:23
danke für deine Hilfe!

ich bin gerade beim beheben der Fehler, die catch-fehler habe ich schon beseitigt, aber es gibt einen weiteren Fehlertyp:
Code:
Me.PlanArray = DirectCast(Utils.CopyArray(DirectCast(Me.PlanArray, Array), New String(5  - 1, (num2 + 1) - 1) {}), String(0 To .,0 To .)(,))
liefert:
Code:
Array bounds cannot appear in type specifiers. (BC30638) - C:\[...]\frmExport.vb:799
Da weiß ich noch nicht genau, was das Problem ist, kann mir da jemand helfen?

Grüße
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz