Sebuah Decompiler mengambil sebagai masukan file eksekusi, dan upaya untuk menciptakan tingkat tinggi, compilable, berkas bahkan mungkin dipertahankan sumber yang melakukan hal yang sama.
Oleh karena itu adalah kebalikan dari compiler, yang membutuhkan file sumber dan membuat executable. Namun, Decompiler umum tidak berusaha untuk membalikkan setiap tindakan dari Decompiler, melainkan mengubah program masukan berulang kali sampai hasilnya adalah kode sumber tingkat tinggi. Oleh karena itu tidak akan menciptakan file sumber aslinya; mungkin tidak seperti itu.
Tidak masalah jika file executable memiliki simbol atau tidak, atau disusun dari bahasa tertentu. (Namun, bahasa deklaratif seperti ML tidak dianggap.)
Tujuannya adalah untuk menciptakan sebuah decompiler retargetable (yaitu satu yang dapat menguraikan berbagai jenis file kode mesin dengan usaha sederhana, misalnya X86-jendela, sparc-solaris, dll). Hal itu juga dimaksudkan untuk menjadi sangat modular, sehingga bagian-bagian yang berbeda dari Decompiler bisa diganti dengan modul eksperimental. Hal itu dimaksudkan untuk akhirnya menjadi interaktif, a la IDA Pro, karena beberapa hal (bukan hanya nama variabel dan komentar, meskipun ini jelas sangat penting) memerlukan intervensi ahli. Apakah interaktivitas yang termasuk dalam decompiler atau di alat terpisah masih belum jelas.
Dengan mengubah semantik instruksi individu, dan menggunakan teknik canggih seperti Static Tunggal analisis tugas dataflow, Boomerang harus (sebagian besar) independen dari perilaku yang tepat dari compiler yang terjadi yang akan digunakan. Optimisation seharusnya tidak mempengaruhi hasil. Oleh karena itu, tujuannya adalah sebuah decompiler umum.
Keterbatasan:
· Jika anda ingin mencoba Boomerang karena sebagai Decompiler (sebagai lawan bereksperimen dengan itu, atau meningkatkan itu), menyadari keterbatasan parah. Pada awal tahun 2004, Boomerang hanya akan menguraikan X86 (Linux / X86 atau Windows PE), SPARC (Solaris, atau mungkin Linux / SPARC), atau Power PC (Linux / PPC atau Mac OS / X) program. Secara khusus, perhatikan bahwa tidak akan mendekompilasi program DOS atau TL (Windows 3.1). Menambahkan prosesor lain adalah besar (beberapa bulan) usaha.
· Ini hanya akan menghasilkan C, bukan C ++. Ini akan menguraikan C ++ program tentu saja, (dan setiap macam program, termasuk assembler). Anda mungkin dapat menyerahkan mengedit beberapa C ++ program menjadi digunakan C ++ source code. Untuk program MSVC disusun, saat ini Anda harus spoonfeed Decompiler dan memberitahu bahwa ada satu parameter register (panggilan thiscall konvensi). Switch untuk menangani hal ini sangat kompleks; melihat menggunakan saklar -sf.
Rincian Software:
Versi: alpha 0.3
Tanggal Upload: 3 Jun 15
Lisensi: Gratis
Popularitas: 182
Komentar tidak ditemukan