UnMarshal: Cara Decompile Marshal di Termux

Pada postingan ini saya akan membagikan tools bernama unmarshal. Tools ini biasa saya gunakan untuk melakukan decompile marshal pada projek python saya sendiri.

Kadang-kadang saya ingin melakukan modifikasi projek yang sudah dipublikasi ke github. Namun karena saya sudah mengamankan kode python tersebut, saya harus decompile dulu untuk melihat kembali kode aslinya. Dalam hal ini saya biasa menggunakan tools unmarshal.

Bagi kamu yang ingin melihat kode python asli yang dienkripsi dengan marshal, gunakanlah tools ini.

Catatan: Jangan gunakan unmarshal untuk mencuri atau recode kode python orang lain. Hal tersebut termasuk melanggar etika. Jadi bijaksana lah.

Tools Unmarshal

Unmarshal merupakan marshal decompiler yang memuat module uncompyle6, xdis, dan disassembler dalam mengungkap kode python.

Kode sumbernya ada di github.com/ar-42/unmarshal.

Unmarshal ini bekerja untuk python versi 3.8 ke bawah. Jadi apabila kamu ingin menggunakannya, pastikan versi python pada terminal kamu tidak lebih dari 3.8.

Apabila versi python saat ini 3.11, silahkan lakukan downgrade terlebih dahulu.

Cara Menggunakan Unmarshal Untuk Decompile Kode Marshal

Pertama kita butuh sebuah terminal untuk menjalankan unmarshal. Disini saya akan menggunakan termux karena dapat dioperasikan melalui Android.

Selanjutnya siapkan file python yang sudah diencode dengan marshal.

Terakhir pasang dan jalankan tools unmarshal di termux, kemudian targetkan file yang sudah disiapkan.

Berikut panduan lengkapnya.

1. Pasang tools unmarshal di termux

Buka aplikasi termux kemudian jalankan perintah apt update && apt upgrade -y untuk memperbarui lingkungan termux.

Selanjutnya install package git dan python. Gunakan perintah di bawah ini.

pkg install git python python2

Install juga modul uncompyle6 untuk mendukung tools unmarshal. Gunakan perintah berikut.

pip install uncompyle6 && pip2 install uncompyle6

Setelah itu, salin kode sumber unmarshal dari github ke termux. Jalankan perintah berikut.

git clone https://github.com/ar-42/unmarshal

Tunggu sampai prosesnya selesai.

2. Operasikan unmarshal untuk decompile file python yang diencode

Untuk menjalankan unmarshal, eksekusi file utamanya yang ada di dalam folder unmarshal.

Berikut adalah perintah untuk masuk ke dalam folder.

cd unmarshal

Dan ini perintah untuk menjalankan file utama.

python run.py namaFilemarshal.py

Catatan:

Tuliskan nama file yang akan didecompile di akhir perintah. Misal nama filenya dark.py, maka perintahnya menjadi python2 run.py dark.py.

Apabila file yang akan didecompile adalah python versi 2.7, maka ubah perintahnya menjadi python2 run.py namaFile.py.

Img

Tunggu proses decompile selesai.

Hasilnya akan tersimpan ke dalam file baru dengan akhiran .py_dis.

Kesimpulan

Unmarshal ini bisa digunakan untuk melakukan decompile python versi 2.7 sampai 3.8 yang dienkripsi dengan marshal. Dan juga dapat memecah code object yang disematkan dalam kode marshal.

Apabila kode python dalam bentuk pyc, jadikan dulu formatnya ke py dengan tools pycdc. Setelah itu baru jalankan unmarshal.

Nah, sekian pembahasan kali ini. Apabila ada pertanyaan silahkan tinggalkan komentar.

Tinggalkan Balasan