2017-10-09 4 views
-1

Dies ist eher eine pauschale Frage als spezifisch, aber in meinem Fall habe ich ein Programm, das ich bekam, aber leider ist es kaputt. (Es funktionierte vorher, das war eine Weile her)Wie man bestehendes Programm ändert?

Das Programm ist ein C# WPF .exe, aber ich lerne nur Programmierung und ich habe keine Ahnung, wie Sie es beheben. Ich kann den Code dahinter sehen, denke ich, wenn ich ihn dekompiliere (dotPeek, aber es scheint nur gelesen zu werden), aber ich habe keine Ahnung, wie ich das Programm so bearbeiten und neu kompilieren kann, dass es genau wie vorher funktioniert. Ich habe versucht zu googeln, aber ich war nicht sicher, welche Bedingungen diese Frage beantworten würden und die, die ich benutzt habe, erwiesen sich als fruchtlos.

Tl; dr - wie Programme zu ändern (vor allem C# WPF .exe)

+2

_“, wie um Programme zu modifizieren (besonders C# WPF .exe) "_ Sie müssen den Quellcode/Projekt dieses Programms bekommen. Es aus der Dekompilierung zu lösen, wird wahrscheinlich mehr Aufwand erfordern, als es von Grund auf neu zu schreiben. – Fildor

+0

Eine andere Frage wäre: Was ist der Fehler? Könnte es durch richtige Konfiguration behoben werden, vielleicht? Haben Sie Eigentum an Code? Wenn es sich nicht um Ihren Code handelt und es sich um eine geschlossene Quelle handelt, können Sie sogar Lizenzprobleme beim Reverse-Engineering feststellen. – Fildor

+3

Programme neigen nicht dazu, von selbst zu brechen - abgesehen davon, dass sie korrumpiert werden - wenn das der Fall ist, wird das Dekompilieren nicht funktionieren. Sie müssen also verstehen, warum es nicht mehr funktioniert - es ist wahrscheinlich, dass eine Dekompilierung und Neukompilierung nicht funktioniert. Was hat sich geändert, als es funktionierte oder wenn es nicht mehr funktionierte (vielleicht Betriebssystemversion oder PC)? Können Sie in einen Zustand zurückkehren, in dem es funktionierte? – PaulF

Antwort

2

Incorporated Kommentare von @PaulF:

Programme sind in der Regel nicht von selbst zu brechen - jenseits beschädigt zu werden - wenn das ist der Fall, dann Dekompilierung wird nicht funktionieren. Sie müssen also verstehen, warum es nicht mehr funktioniert - es ist wahrscheinlich, dass eine Dekompilierung & nicht funktioniert. Was hat sich geändert, als es funktionierte oder wenn es nicht mehr funktionierte (vielleicht Betriebssystemversion oder PC)? Können Sie in einen Zustand zurückkehren, in dem es funktionierte?

Wenn das nicht das Problem, dann:

Haben Sie Zugriff auf den Quellcode haben? Wenn nicht, können Sie es nicht schaffen, ohne es neu zu schreiben und es wieder einzusetzen, was keine schlechte Sache ist. Dann könntest du den Quellcode haben und ihn hoffentlich kontrollieren.

dotPeek ermöglicht es Ihnen, den dekompilierten Code zu sehen, aber Sie können mit der Datei nichts sicher machen.

Das sind über Ihre nur drei Möglichkeiten:

  1. Herauszufinden welche Abhängigkeiten/Konfigurationen
  2. Erhalten Sie die Quelle geändert haben und modifizieren, dass
  3. Re-schreiben es
+1

Wenn der Quellcode nicht verfügbar ist, gibt es mehrere andere Tools hier erwähnt, ich habe keine verwendet, so kann nicht beraten, wie gut sie sind: https://reverseengineering.stackexchange.com/questions/77/is-there-any -Way-to-Decompile-a-Net-Assembly-oder-Programm – PaulF

Verwandte Themen