Beste Antwort
Ja, Sie können die EXE-Datei dekompilieren und den Quellcode auf drei Arten abrufen, wie ich weiß (und möglicherweise auch auf andere Weise möglich :))
Hier ist eine schrittweise Anleitung zum Dekompilieren einer Windows-Anwendung:
- Teleriks JustDecompile . Es ist eine freie Software, die dekompiliert werden kann, aber ich habe viele Fehler mit dieser Software bekommen. Es kann sogar ein VS-Projekt für Sie erstellen 🙂
- ILSpy, das Sie unter icsharpcode / ILSpy finden.
- .NET Decompiler und sein Add-In FileDisassembler , das früher eine kostenlose Version war es ist nicht mehr kostenlos. Sie können jedoch die Testversion der unter .NET Decompiler: Decompile Any .NET Code enthaltenen Software ausprobieren. (Dies funktioniert wie ein Zauber!)
Wenn Sie JustDecompile verwenden, öffnen Sie die EXE-Datei direkt in der Software. Es zeigt Ihnen den vollständigen Quellcode. Sie können auch ein VS-Projekt erstellen (Option Extras auswählen -> Projekt erstellen).
Ich hoffe, es hat Ihnen geholfen!
Prost,
Antwort
Sie können es tun. Es wird als Dekompilieren bezeichnet und beginnt mit dem „Zerlegen“, dh dem Interpretieren der Bytesequenz in Anweisungen in Assemblersprache und dem Ersetzen jedes erkennbaren Satzes von Assemblierungsanweisungen durch echte Sprache, um zum Code in einer höheren Sprache zurückzukehren
Das Ergebnis sieht jedoch nicht wie der ursprüngliche Quellcode aus. Die gesamte Benennung und das gesamte Design werden vollständig verschleiert, und zwar in dem Maße, wie es ein zielgerichteter Verschleierer erreichen würde.
Dies ist eine sehr alte Methode zur automatischen Portierung von Code, die zu relativ schrecklichen Ergebnissen führt. Der Code ist für Menschen nicht lesbar und wird selbst bei intensiver Optimierung wieder zu etwas weniger effizientem Maschinencode kompiliert, da die Sprachkonstrukte, die die einzelnen Baugruppenblöcke ersetzen, im Allgemeinen eine etwas allgemeinere Bedeutung haben als die tatsächlichen Montageanweisungen, die sie emulieren und die auf verschiedenen Computern verfügbaren Vorgänge werden nicht unbedingt direkt zugeordnet.