Próbuję dowiedzieć się, co robi plik klas apletu Java pod maską. Otwarcie go za pomocą Notatnika lub TextPada pokazuje tylko kilka gobbledy-gook.
Czy jest jakiś sposób, aby przywrócić go do nieco czytelnego formatu, abym mógł spróbować dowiedzieć się, co robi?
- Środowisko == Windows z zainstalowanym VS 2008.
Odpowiedzi:
jd-gui jest obecnie najlepszym dekompilatorem. może obsługiwać nowsze funkcje w Javie, w porównaniu do coraz bardziej zakurzonego JADa.
źródło
Jeśli nie masz nic przeciwko czytaniu kodu bajtowego, javap powinien działać dobrze. Jest częścią standardowej instalacji JDK.
źródło
Jak wskazał @MichaelMyers, użyj
aby uzyskać kod zespołu JVM. Możesz również przekierować dane wyjściowe do pliku tekstowego, aby uzyskać lepszą widoczność.
źródło
Chcesz dekompilatora javy, możesz to zrobić za pomocą narzędzia wiersza poleceń
javap
. Ponadto Java Decompiler HOW-TO opisuje, w jaki sposób można zdekompilować plik klasy.źródło
to czego szukasz to dekompilator java. Polecam JAD http://www.kpdus.com/jad.html Jest darmowy do użytku niekomercyjnego i wykonuje swoją pracę.
Uwaga: to nie sprawi, że kod będzie dokładnie taki sam, jak został napisany. tzn. stracisz komentarze i prawdopodobnie nazwy zmiennych, więc będzie to trochę trudniejsze niż zwykłe czytanie normalnego kodu źródłowego. Jeśli programista jest naprawdę tajny, zaciemni również swój kod, co będzie jeszcze trudniejsze do odczytania.
źródło
cpuguru, jeśli twój aplet został skompilowany w javac 1.3 (lub starszym), najlepszą opcją jest użycie Jad.
Niestety, ostatnim JDK obsługiwanym przez JAD 1.5.8 (14 kwietnia 2001) jest JDK 1.3.
Jeśli twój aplet został skompilowany za pomocą nowszego kompilatora, możesz wypróbować JD-GUI : ten dekompilator jest w trakcie opracowywania, niemniej jednak generuje on poprawne źródła Javy przez większość czasu dla klas skompilowanych z JDK 1.4, 1.5 lub 1.6.
DarenW, dziękuję za twoją wiadomość. JD-GUI nie jest jeszcze najlepszym dekompilatorem ... ale pracuję nad :)
źródło
jd-gui " http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&can=2&q= " to najlepsza i przyjazna dla użytkownika opcja dekompilacji .class plik....
źródło
Używanie Jad do dekompilacji jest prawdopodobnie najlepszą opcją. Jeśli kod nie został zaciemniony, da dobry wynik.
źródło
To skompilowany kod, musisz użyć dekompilatora, takiego jak JAD: http://www.kpdus.com/jad.html
źródło
Musisz użyć dekompilatora. Inni zasugerowali JAD, są inne opcje, JAD jest najlepszy.
Powtórzę komentarze, które możesz trochę stracić w porównaniu z oryginalnym kodem źródłowym. Szczególnie zabawnie będzie wyglądać, jeśli kod użyje generycznych ze względu na wymazanie.
źródło
Na pewno wtyczka JAD i / lub JADclipse Eclipse.
źródło
Jeśli plik klasy, do którego chcesz zajrzeć, jest open source, nie powinieneś go dekompilować, ale zamiast tego dołączyć pliki źródłowe bezpośrednio do swojego IDE. w ten sposób możesz po prostu przeglądać kod jakiejś klasy bibliotecznej tak, jakby był Twoją własną
źródło
Jak sugerowano, możesz użyć JAD do dekompilacji i przeglądania plików. Aby ułatwić czytanie, możesz użyć wtyczki JADclipse do eclipse, aby zintegrować JAD bezpośrednio z eclipse lub użyć DJ Java Decompiler, który jest znacznie łatwiejszy w użyciu niż JAD z wiersza poleceń
źródło
JAD to doskonała opcja, jeśli w rezultacie chcesz uzyskać czytelny kod Java. Jeśli jednak naprawdę chcesz zagłębić się w wnętrze
.class
formatu pliku, będziesz chciałjavap
. Jest dołączony do JDK i umożliwia "dekompilację" szesnastkowego kodu bajtowego do czytelnego ASCII. Język, który tworzy, nadal jest kodem bajtowym (nie jest niczym innym jak Java), ale jest dość czytelny i niezwykle pouczający.Ponadto, jeśli naprawdę chcesz, możesz otworzyć dowolny
.class
plik w edytorze szesnastkowym i bezpośrednio odczytać kod bajtowy. Wynik jest identyczny jak przy użyciujavap
.źródło
Nie ma potrzeby dekompilacji klasy Applet.class. Publiczny kod źródłowy klas Java API jest dostarczany z JDK (jeśli zdecydujesz się go zainstalować) i jest bardziej czytelny niż zdekompilowany kod bajtowy. Możesz znaleźć skompresowany plik src.zip (znajdujący się w folderze instalacyjnym JDK).
źródło
CFR - kolejny dekompilator javy to świetny dekompilator współczesnej Javy napisany w Javie 6.
źródło
można również skorzystać z dostępnych online dekompilatorów java. Na przykład http://www.javadecompilers.com
źródło