Jawa Binary Enhancement Tool (JBET) adalah alat analisis program Java dan manipulasi umum. Ada file kelas dapat dibongkar, dipasang kembali, atau diedit pemrograman melalui JBET API. JBET juga dapat digunakan untuk membuat file class Java baru dari awal. JBET menggunakan representasi internal nyaman semua isi biner (.class) file Java, yang memungkinkan pengguna untuk mengedit kelas dengan mudah, dengan cara yang terstruktur.
JBET dikembangkan sebagai bagian dari proyek Handphone Agen DARPA sendiri Melindungi bawah OASIS dan program Jaringan Aktif (nomor kontrak N66001-00-C-8602) untuk mempelajari otomatis software kebingungan.
Bahasa Jawa dipilih untuk proyek ini karena (relatif) mudah membangun alat editing biner yang disediakan oleh sejumlah besar jenis informasi yang ada dalam file kelas. Dua laporan kami, Teknik Kebingungan Laporan Evaluasi, dan Laporan Kebingungan, tersedia dari download area. Alat kebingungan dikembangkan bukan bagian dari rilis ini.
JBET juga digunakan dalam proyek Survivable Server DARPA / AFRL (kontrak nomor F30602-00-C-0183) untuk menambahkan pemeriksaan keamanan tambahan untuk Standar Perpustakaan Jawa. (The Java SecurityManager API tidak mendukung banyak pemeriksaan keamanan yang diinginkan, seperti otorisasi terus file akses setelah pembukaan.)
JBET digunakan untuk menggantikan asli metode referensi di perpustakaan standar Java dengan bertopik yang menyebut kebijakan keamanan pluggable. Alat ini, disebut Jpolicy, juga tersedia untuk di-download di website ini. Jpolicy sangat lengkap pada saat ini, tetapi mungkin menarik untuk mereka yang bekerja di keamanan Java atau mengubah perpustakaan standar sendiri.
Representasi internal file kelas Java yang digunakan oleh JBET intented untuk membuatnya mudah bagi programmer untuk menulis Jawa kode biner transformasi. Setiap elemen dari file kelas Java memiliki struktur data internal yang sesuai: ClassInfo untuk seluruh kelas, MethodInfo untuk metode, FieldInfo untuk bidang, snippit untuk blok kode, dan Instruksi untuk instruksi individu. Snippit dan Instruksi memahami sintaks opcode Jawa dan semantik, yang memungkinkan penciptaan otomatis dari program Java yang valid. Sebuah kelas verifier Java-kompatibel juga disertakan.
Beberapa transformasi kode sulit untuk program secara langsung dengan memanipulasi petunjuk Jawa. Bagi mereka transformasi, sebuah diarahkan grafik asiklik (DAG) representasi kode yang tersedia. Dalam representasi DAG, setiap blok dasar memiliki DAG sesuai, dengan satu set input dan output node. Tepi dalam grafik terhubung "produser" node (seperti konstanta, atau hasil perhitungan) untuk "user" node (seperti metode panggilan atau perhitungan lainnya). Metode dibagi menjadi blok dasar dan kontrol aliran disimpan di tingkat blok dasar (mungkin karena Java hanya tetap target melompat)
JBET membutuhkan Java 1.4 mesin virtual untuk menjalankan, meskipun dapat beroperasi pada file kelas dari versi Java sebelumnya. Kemasan dan membangun lingkungan yang disediakan mendukung Linux dan Windows dengan Cygwin; Namun, proses membangun sederhana dan dapat dilakukan secara manual pada platform lain. Perl diperlukan untuk pengujian regresi.
Jpolicy membutuhkan Java 1.4 mesin virtual untuk membangun, Linux atau Windows NT / XP dengan Cygwin. gcc diperlukan untuk membangun pada Windows (disertakan dengan Cygwin). Sistem runtime dapat berupa Java 1.3 atau 1.4 (dengan Sun JVM saja), yang berjalan pada Linux atau Windows NT / XP. Windows 9x dan Windows 2000 dapat bekerja dengan baik, tapi belum diuji.
Instalasi
1. Instal jdk 1.4.1.
2. Set CLASSPATH untuk jdk1.4.1 / jre / lib / rt.jar
3. cd src; membuat
4. Jika itu tidak berhasil, memeriksa makefile. java atau javac mungkin tidak di jalan.
5. Untuk membangun sebuah file jar yang dapat digunakan dengan "java jar jbet.jar", jalankan "membuat jar".
6. Jika Anda telah perl diinstal, menjalankan tes dengan "membuat test".
Opsional, menjalankan "membuat regen; membuat test".
Membuat link simbolik dari jbet3 / bin / jbet ke suatu tempat di jalan Anda.
Pemakaian
JBET menggunakan format JNI untuk nama kelas, dan jenis JNI dan metode deskripsi. Untuk ringkasan sintaks ini, menggunakan 'bantuan sintaks jbet'. JVM spesifikasi matahari juga dapat membantu.
Untuk melihat pembongkaran kelas, menggunakan 'cetak jbet'. Coba pembongkaran kelas Anda memiliki sumber, dan dibangun dengan info debug (g): 'jbet -P
Rincian Software:
Versi: 3 R1
Tanggal Upload: 3 Jun 15
Lisensi: Gratis
Popularitas: 137
Komentar tidak ditemukan