Che cosè un buon decompilatore per un file .exe?


Migliore risposta

Sì, puoi decompilare il file .exe e ottenere il codice sorgente in tre modi che conosco (e forse possibile anche in altri modi :))

Ecco un modo passo passo per decompilare unapplicazione Windows:

https://blog.anirudhmergu.com/code/reverse-engineer-a-windows-exe-application-to-get-its-source-code-and-vs-project/?utm\_source=quora&utm\_medium=textlink&utm\_campaign=quora\_referral

  1. JustDecompile di Telerik. È un software gratuito che può decompilare ma ho ricevuto molti errori usando questo software. Può persino creare un progetto VS per te 🙂
  2. ILSpy che può essere trovato su icsharpcode / ILSpy .
  3. .NET Decompiler e il suo componente aggiuntivo FileDisassembler , che era una versione gratuita ma non è più libero. Tuttavia puoi provare la versione di prova del software disponibile in .NET Decompiler: Decompile Any .NET Code. (Funziona a meraviglia!)

Se stai usando JustDecompile, apri il file .exe direttamente nel software. Ti mostrerà il codice sorgente completo. Puoi anche creare un progetto VS (seleziona Strumenti -> opzione Crea progetto).

Spero ti sia stato di aiuto!

Saluti,

Anirudh

Risposta

Ce la puoi fare. Si chiama decompilazione e inizia con il disassemblaggio, ovvero linterpretazione della sequenza di byte in istruzioni in linguaggio assembly, e quindi la sostituzione del linguaggio autentico per ogni insieme riconoscibile di istruzioni assembly, per tornare al codice in un linguaggio di alto livello .

Ma il risultato non assomiglierà affatto al codice sorgente originale. Tutta la denominazione e il design saranno completamente offuscati, quasi allo stesso livello che un offuscatore intenzionale otterrebbe.

Questo è un modo molto antico di portare il codice “automaticamente”, che produce risultati relativamente pessimi. Il codice non è leggibile dagli esseri umani e, anche con unottimizzazione intensiva, verrà compilato in un codice macchina un po meno efficiente, perché i costrutti del linguaggio sostituiti ai singoli blocchi di assemblaggio avranno generalmente un significato leggermente più generale delle istruzioni di assemblaggio effettive che emulano e le operazioni disponibili su macchine diverse non vengono necessariamente mappate direttamente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *