Reko (Bahasa Swedia: "layak, wajib") adalah dekompiler untuk biner kode mesin. Proyek ini tersedia secara gratis di bawah Lisensi Publik Umum GNU.
Proyek ini terdiri dari ujung depan, mesin dekompiler inti, dan ujung belakang untuk membantu mencapai tujuannya. Baris perintah, GUI Windows, dan front end ASP.NET sudah ada pada saat penulisan. Mesin dekompiler menerima input dari ujung depan dalam bentuk file individual yang dapat dieksekusi atau file proyek dekompiler. File proyek Reko berisi informasi tambahan tentang file biner, berguna untuk proses dekompilasi atau untuk memformat output. Mesin dekompiler kemudian melanjutkan menganalisis biner masukan.
Tampilan peta byte dari biner ARM yang dimuat dan dapat dieksekusi | Tampilan dekompilasi dari biner ARM yang dimuat dan dapat dieksekusi |
Reko mempunyai ambisi untuk mendukung dekompilasi berbagai arsitektur prosesor dan format file yang dapat dieksekusi dengan intervensi pengguna yang minimal. Untuk daftar lengkapnya, lihat halaman binari yang didukung.
Harap dicatat bahwa banyak lisensi perangkat lunak melarang dekompilasi atau rekayasa balik lainnya dari biner kode mesin mereka. Gunakan dekompiler ini hanya jika Anda memiliki hak hukum untuk mendekompilasi biner (misalnya jika biner itu milik Anda.)
Rilis resmi diterbitkan setiap beberapa bulan di Github dan SourceForge. Pengguna yang tidak dapat atau tidak ingin membuat Reko sendiri dapat mengunduh keluaran pembuat integrasi Cirrus CI atau pembuat integrasi Github Actions. Tentu saja Anda dapat membangun proyek dari sumbernya: lihat "Peretasan" di bawah.
Perangkat lunak prasyarat berikut harus diinstal pada mesin Anda terlebih dahulu:
.NET 6.0 (https://www.microsoft.com/net/download/dotnet-framework-runtime)
Unduh penginstal yang sesuai dan jalankan di mesin target.
Setelah instalasi, Anda dapat melanjutkan dengan mengunduh binari langsung dari server pembangunan integrasi, atau dengan membangun Reko dari sumber (lihat Hacking
di bawah).
Untuk mengenal berbagai fitur Reko, Anda dapat membaca panduan pengguna. Jika Anda tertarik dengan cara kerja internal proyek ini, lihat wiki.
Anda dapat melaporkan masalah apa pun yang Anda temui atau mengajukan pertanyaan terkait Reko di pelacak masalah. Anda juga dapat mencoba ruang obrolan Reko Gitter.im. Reko dibangun atas upaya para sukarelawan di waktu luang mereka, jadi sesuaikan ekspektasi waktu respons Anda.
Untuk membangun reko, mulailah dengan mengkloning https://github.com/uxmal/reko. Anda dapat menggunakan IDE atau baris perintah untuk membuat file solusi Reko-decompiler.sln
. Reko memerlukan .NET 6.0 SDK untuk dikompilasi. Jika Anda pengguna IDE, gunakan Visual Studio 2022 versi terbaru. Jika Anda ingin membangun menggunakan baris perintah, gunakan perintah
dotnet msbuild -p:Platform={platform} -p:Configuration={config} -v:m -t:build_solution -m ./src/BuildTargets/BuildTargets.csproj
Ganti {config}
dengan Debug
atau Release
, dan {platform}
dengan x64
atau x86
.
Catatan : harap beri tahu kami jika Anda masih tidak dapat mengkompilasi, sehingga kami dapat membantu Anda memperbaiki masalah tersebut.
Jika Anda tertarik untuk menyumbangkan kode, lihat peta jalan untuk mengetahui area yang perlu dijelajahi. Wiki memiliki lebih banyak informasi tentang cara kerja internal proyek Reko. Silakan berkonsultasi dengan panduan gaya.
Anda akan menerima peringatan atau kesalahan saat memuat solusi di Visual Studio jika Anda belum menginstal perangkat WiX di mesin pengembangan Anda. Anda dapat mengabaikan peringatan tersebut dengan aman; perangkat WiX hanya digunakan saat membuat paket penginstal MSI. Anda tidak perlu membuat penginstal jika Anda sudah dapat mengkompilasi proyek: proses pembuatan akan menyalin semua file yang diperlukan ke dalam satu direktori. Jika Anda ingin membuat penginstal MSI dengan toolchain WiX, Anda dapat mengunduhnya di sini: http://wixtoolset.org/releases/
Bergantung pada apa yang Anda lakukan, Visual Studio mungkin mencoba membangun kembali NativeProxy yang bergantung pada CMake. Anda dapat menginstal CMake dan memastikannya ditambahkan ke PATH Anda atau menonaktifkan proyek di Visual Studio.
Menginstal CMake sebagai bagian dari Visual Studio sudah cukup untuk menjalankan msbuild dari Developer Command Prompt
tetapi tidak ketika membangun dari dalam VS, kecuali Anda telah menambahkannya ke PATH global Anda. Menginstal CMake secara eksternal memungkinkan Anda menambahkannya ke PATH selama instalasi.
CATATAN : ada masalah di versi Visual Studio tertentu yang dapat muncul dengan sendirinya saat memuat proyek. Anda akan menyadarinya jika Visual Studio macet "Menjalankan Tugas Latar Belakang" dan tidak mengizinkan Anda membangun proyek. Solusinya adalah dengan mengklik kanan proyek "NativeProxy" di penjelajah solusi dan memilih "Bongkar Proyek". Proyek kemudian akan dapat memuat dan membangun dengan benar. Masalah ini tidak terjadi saat membuat dari baris perintah.
Folder solusi Drivers
berisi executable yang bertindak sebagai antarmuka pengguna. Subdirektori WindowsDecompiler
berisi klien GUI untuk antarmuka pengguna Windows Forms. Subdirektori AvaloniaShell
berisi klien GUI untuk antarmuka pengguna lintas platform Avalonia (masih dalam pembangunan). CmdLine
adalah driver baris perintah.
Lihat log rilis untuk rilis terbaru.