Dekompiler C / C ++ menerjemahkan program, tidak perlu kode sumber

Dengan dekompiler baru untuk C / C ++, pengembang dapat memperoleh wawasan tentang cara kerja program tanpa melihat kode sumber. Itulah rencana untuk Snowman, yang diharapkan oleh pengembang utama proyek agar serupa dengan LLVM untuk dekompilasi.

Snowman mendekompilasi dari kode mesin ke C dengan sedikit dukungan untuk C ++, dan kode sumber harus dirilis dalam beberapa bulan, kata kepala pengembang Yegor Derevenets, seorang mahasiswa di Jerman, dalam tanggapan email atas pertanyaan.

Teknologi ini "sangat modular," kata Derevenets. “Ini didasarkan pada perpustakaan dekompilasi yang dapat dengan mudah diintegrasikan ke dalam sistem lain. Sebagai contoh, kami menyediakan tiga aplikasi yang menggunakannya: dekompiler baris perintah, dekompiler GUI, dan plugin disassembler IDA. Mudah-mudahan, setelah kode sumbernya dirilis, Snowman pada akhirnya akan menjadi LLVM untuk dekompilasi.

“Tujuan decompiler adalah untuk menerjemahkan program dalam representasi tingkat rendah, seperti kode mesin atau bytecode, ke program dalam bahasa pemrograman tingkat tinggi, seperti C, C ++ atau Java dan C #,” kata Derevenets. “Terjemahan semacam itu mungkin berguna bagi orang yang mencoba memahami cara kerja program tingkat rendah tanpa memiliki akses ke kode sumbernya: teknisi keamanan, analis viral, pengelola sistem lama yang kodenya hilang.”

Rilis 0.0.5 Snowman saat ini menampilkan pengeditan kode C / C ++, pemfaktoran ulang, navigasi kode, dan peningkatan kinerja GUI. Rilis enam poin telah diterbitkan sejak Juni, termasuk rilis pertengahan Oktober dengan plug-in untuk disassembler IDA.