Dogbolt Decompiler Explorer
(dogbolt.org)- Dogbolt adalah Decompiler Explorer yang memungkinkan Anda mengunggah biner dan membandingkan berbagai hasil decompiler di satu tempat
- File yang diunggah dibatasi kurang dari 2MB, dan ada pemberitahuan bahwa biner yang diunggah akan disimpan
- Dogbolt menyediakan sampel agar Anda bisa melihat cara kerjanya tanpa perlu mengunggah file sendiri
- Tool yang terhubung mencakup angr, BinaryNinja, Boomerang, dewolf, Ghidra, Hex-Rays, RetDec, Snowman, dan lainnya
- Nama tiap tool terhubung ke situs web atau repositori, sehingga Anda dapat langsung memeriksa informasi tool sambil melihat hasil perbandingan
Syarat unggah biner
- Dogbolt menyediakan alur bagi pengguna untuk mengunggah file biner dan melihat hasil dekompilasi
- Ukuran file harus kurang dari 2MB
- Ditampilkan pemberitahuan bahwa biner yang diunggah akan disimpan, beserta tautan FAQ
Bisa dicek lebih dulu lewat sampel
- Tersedia daftar sampel yang bisa diperiksa tanpa perlu mengunggah file secara langsung
- Sampel disusun untuk melihat hasil beberapa decompiler secara berdampingan
1 komentar
Komentar Hacker News
Ingin bilang terima kasih kepada orang yang memposting ini karena menunggu sampai minggu ini. Mungkin karena baru dibahas di C++ Weekly, dan ini materi yang bagus: https://www.youtube.com/watch?v=h3F0Fw0R7ME
Sampai minggu lalu masalah performanya cukup serius, tetapi sekarang antreannya (https://dogbolt.org/queue) secara umum terlihat cukup baik. Selain bottleneck panjang pada beberapa decompiler yang masih tertahan, sekarang berjalan cukup mulus, dan Josh serta Glenn telah melakukan peningkatan yang luar biasa: https://github.com/decompiler-explorer/decompiler-explorer/c...
Tulisan terkait: Decompiler Explorer - https://news.ycombinator.com/item?id=32079227 - Juli 2022, 82 komentar
Saat riset doktoral, terutama ketika menangani deep learning untuk kode yang diobfuscate, ini pasti akan sangat berguna
Pada awal eksperimen, Ghidra tidak terlalu cocok dengan multiprocessing dan data yang harus diproses sangat banyak, jadi saya beralih ke angr. Mungkin saja tetap bisa dilakukan dengan Ghidra, tetapi melakukan hal yang sama dengan angr jauh lebih mudah. Saya juga suka namanya. Meski begitu, saya ingin mencatat bahwa Compiler Explorer adalah nama proyeknya, sedangkan Godbolt adalah nama belakang penulisnya, tetapi kalau sekarang Godbolt sudah dipakai seperti kata kerja, rasanya kapal itu sudah telanjur berlayar
Akan bagus jika ada alat serupa untuk mengeksplorasi binary lifting ke berbagai intermediate representation (IR). Misalnya Ghidra p-code dan sleigh, LLVM Machine IR, atau Qemu TCG
BNIL, kumpulan beberapa tahap intermediate language yang menjadi dasar Binary Ninja, mungkin juga menarik. Bentuk yang diekspos di UI atau demo cloud.binary.ninja bisa dilihat
Karena sedang membahas decompiler, saya penasaran apakah Binary Ninja juga pilihan yang aman. Katanya IDA adalah standar, tetapi terlalu mahal untuk orang yang ingin belajar reverse engineering sebagai hobi
Menurut saya keunggulan terbesar Binja adalah intermediate language (IL)-nya. High-level IL berperan sebagai decompiler, tetapi juga ada low-level dan medium-level IL sebagai tahap di antara assembly dan source. Jika hasil decompiler terlihat agak aneh, melihat IL membantu memahami apa yang sebenarnya terjadi, dan IL itu sendiri jauh lebih enak dibaca daripada assembly mentah sehingga jadi sering dipakai. Hampir tidak ada padanan yang benar-benar setara di platform lain. Ghidra dan IDA masing-masing memang punya satu IL juga, tetapi dibanding IL Binja yang ramah dibaca manusia, keduanya lebih dekat ke bentuk yang ramah dibaca mesin
Yang tidak ada adalah scripting Python, dan itu memang perbedaan yang cukup besar. Meski begitu, sulit untuk mengeluh untuk alat gratis. IDA dan Ghidra punya kelebihan, kekurangan, dan plugin komunitas yang berbeda, jadi kemungkinan besar lebih baik memakai keduanya
Sangat bagus. Belakangan ini saya sedang mengerjakan proyek emulator dan mengimplementasikan disassembler sendiri, jadi terus berpikir bagaimana cara mengubah pola kode mesin menjadi bentuk yang digeneralisasi lalu mengonversinya ke pseudocode mirip C
Karena itu saya jadi sangat ingin membuat decompiler mainan sendiri akhir-akhir ini
[1] https://docs.binary.ninja/dev/bnil-overview.html
[2] https://riverloopsecurity.com/blog/2019/05/pcode/ contoh
Adakah tutorial decompiler yang bagus dan mendetail untuk nonspesialis?
Coba masukkan output dogbolt ke godbolt
Melihat ini, rasanya mereka juga nyaris tidak perlu membujuk perusahaan lain. Mereka pasti sadar bahwa ukuran biner yang kecil dan perbandingan dengan pesaing akan menghasilkan lebih banyak bisnis
Ini tampak seperti solusi kecil yang sangat pas untuk mengklasifikasikan masalah lintas layanan dan membandingkan solusinya
Biayanya tidak bisa dibilang murah. Menjalankan decompiler membutuhkan sumber daya komputasi yang cukup besar, dan khususnya beberapa decompiler sulit dibilang efisien
Andai saya melihat ini saat diposting tahun lalu. Benar-benar keren dan sangat praktis