Co to jest dobry dekompilator dla pliku .exe?


Najlepsza odpowiedź

Tak, jak wiem, możesz zdekompilować plik .exe i uzyskać kod źródłowy na trzy sposoby (i być może możliwe także w inny sposób :))

Oto krok po kroku sposób dekompilacji aplikacji 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. Teleriks JustDecompile . Jest to darmowe oprogramowanie, które można dekompilować, ale podczas korzystania z tego oprogramowania pojawia się wiele błędów. Może nawet stworzyć dla Ciebie projekt VS 🙂
  2. ILSpy, który można znaleźć pod adresem icsharpcode / ILSpy .
  3. .NET Decompiler i jego dodatek FileDisassembler , który był darmową wersją, ale to już nie jest darmowe. Możesz jednak wypróbować wersję próbną oprogramowania, którą można znaleźć pod adresem .NET Decompiler: Decompile Any .NET Code. (To działa jak urok!)

Jeśli używasz JustDecompile, otwórz plik .exe bezpośrednio w oprogramowaniu. Pokaże Ci pełny kod źródłowy. Możesz również utworzyć projekt VS (wybierz opcję Narzędzia -> Utwórz projekt).

Mamy nadzieję, że to pomogło!

Pozdrawiam,

Anirudh

Odpowiedź

Możesz to zrobić. Nazywa się to dekompilacją i zaczyna się od „ dezasemblacji , to znaczy zinterpretowania sekwencji bajtów na instrukcje języka asemblerowego, a następnie podstawienie prawdziwego języka dla każdego rozpoznawalnego zestawu instrukcji asemblera, aby wrócić do kodu w języku wysokiego poziomu .

Ale wynik nie będzie wyglądał jak oryginalny kod źródłowy. Całe nazewnictwo i projekt zostaną całkowicie zaciemnione, w bardzo podobnym stopniu, jaki mógłby osiągnąć celowy obfuskator.

Jest to bardzo stary sposób „automatycznego” przenoszenia kodu, który daje stosunkowo okropne wyniki. Kod nie jest czytelny dla ludzi, a nawet przy intensywnej optymalizacji zostanie skompilowany z powrotem do nieco mniej wydajnego kodu maszynowego, ponieważ konstrukcje językowe zastępowane dla poszczególnych bloków asemblerowych będą generalnie miały nieco bardziej ogólne znaczenie niż rzeczywiste instrukcje asemblera, które emulują , a operacje dostępne na różnych komputerach niekoniecznie są mapowane bezpośrednio.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *