Saya mencoba untuk mencari tahu apa yang dilakukan file kelas applet Java di bawah tenda. Membukanya dengan Notepad atau Textpad hanya menunjukkan sekelompok orang bodoh.
Apakah ada cara untuk menyatukannya kembali menjadi format yang agak mudah dibaca sehingga saya dapat mencoba mencari tahu apa yang dilakukannya?
- Lingkungan == Windows w / VS 2008 diinstal.
Jawaban:
jd-gui adalah decompiler terbaik saat ini. itu dapat menangani fitur-fitur baru di Java, dibandingkan dengan JAD yang semakin berdebu.
sumber
Jika Anda tidak keberatan membaca bytecode, javap seharusnya berfungsi dengan baik. Ini bagian dari instalasi JDK standar.
sumber
Seperti yang ditunjukkan oleh @MichaelMyers, gunakan
untuk mendapatkan kode perakitan JVM. Anda juga dapat mengarahkan output ke file teks untuk visibilitas yang lebih baik.
sumber
Anda menginginkan java decompiler, Anda dapat menggunakan alat baris perintah
javap
untuk melakukan ini. Juga, Java Decompiler HOW-TO menjelaskan bagaimana Anda dapat mendekompilasi file kelas.sumber
apa yang Anda cari adalah java de-compiler. Saya merekomendasikan JAD http://www.kpdus.com/jad.html Gratis untuk penggunaan non komersial dan menyelesaikan pekerjaan.
Catatan: ini tidak akan membuat kode sama persis dengan yang tertulis. misalnya Anda akan kehilangan komentar dan mungkin nama variabel, jadi ini akan menjadi sedikit lebih sulit daripada hanya membaca kode sumber biasa. Jika pengembang benar-benar tertutup, mereka juga akan mengaburkan kode mereka, membuatnya lebih sulit untuk dibaca.
sumber
cpuguru, jika applet Anda telah dikompilasi dengan javac 1.3 (atau kurang), pilihan terbaik Anda adalah menggunakan Jad.
Sayangnya, JDK terakhir yang didukung oleh JAD 1.5.8 (14 Apr 2001) adalah JDK 1.3.
Jika applet Anda telah dikompilasi dengan kompilator yang lebih baru, Anda dapat mencoba JD-GUI : dekompiler ini sedang dalam pengembangan, namun, ia menghasilkan sumber Java yang benar, sebagian besar, untuk kelas yang dikompilasi dengan JDK 1.4, 1.5 atau 1.6.
DarenW, terima kasih atas kiriman Anda. JD-GUI bukanlah decompiler terbaik ... tapi saya sedang mengerjakan :)
sumber
jd-gui " http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&can=2&q= " adalah opsi terbaik dan ramah pengguna untuk mendekompilasi .class mengajukan....
sumber
Menggunakan Jad untuk mendekompilasi mungkin adalah pilihan terbaik Anda. Kecuali kode telah dikaburkan, itu akan menghasilkan hasil yang oke.
sumber
Itu kode yang dikompilasi, Anda harus menggunakan decompiler seperti JAD: http://www.kpdus.com/jad.html
sumber
Anda perlu menggunakan decompiler. Orang lain menyarankan JAD, ada pilihan lain, JAD adalah yang terbaik.
Saya akan menggemakan komentar yang mungkin Anda kehilangan sedikit dibandingkan dengan kode sumber aslinya. Ini akan terlihat sangat lucu jika kode yang digunakan generik, karena terhapus.
sumber
JAD dan / atau JADclipse Eclipse plugin, pasti.
sumber
Jika file kelas yang ingin Anda lihat adalah open source, Anda tidak boleh mendekompilasinya, tetapi melampirkan file sumber langsung ke IDE Anda. dengan begitu, Anda bisa melihat kode dari beberapa kelas perpustakaan seolah-olah itu milik Anda sendiri
sumber
Seperti yang disarankan, Anda dapat menggunakan JAD untuk mendekompilasi dan melihat file. Agar lebih mudah dibaca dapat menggunakan plugin JADclipse for eclipse untuk mengintegrasikan JAD langsung ke eclipse atau menggunakan DJ Java Decompiler yang jauh lebih mudah digunakan daripada command line JAD
sumber
JAD adalah opsi yang sangat baik jika Anda menginginkan kode Java yang dapat dibaca sebagai hasilnya. Jika Anda benar-benar ingin menggali internal
.class
format file, Anda pasti menginginkannyajavap
. Ini dibundel dengan JDK dan memungkinkan Anda untuk "mendekompilasi" bytecode heksadesimal menjadi ASCII yang dapat dibaca. Bahasa yang dihasilkannya masih bytecode (tidak seperti Java), tetapi cukup mudah dibaca dan sangat instruktif.Selain itu, jika Anda benar - benar ingin, Anda dapat membuka
.class
file apa pun di editor hex dan membaca bytecode secara langsung. Hasilnya identik dengan menggunakanjavap
.sumber
Tidak perlu mendekompilasi Applet.class. Kode sumber kelas Java API publik dilengkapi dengan JDK (jika Anda memilih untuk menginstalnya), dan lebih mudah dibaca daripada bytecode yang didekompilasi. Anda dapat menemukan file terkompresi di src.zip (terletak di folder instalasi JDK Anda).
sumber
CFR - decompiler java lain adalah decompiler yang bagus untuk Java modern yang ditulis di Java 6.
sumber
Anda juga dapat menggunakan pengurai java online yang tersedia. Misalnya http://www.javadecompilers.com
sumber