PYCDC: Tools untuk Decompile PYC ke PY

Saya pernah mencoba melakukan decompile pyc ke py karena kehilangan file kode sumber python yang asli, tetapi masih memiliki versi kompilasinya. Mungkin kalian juga pernah melakukan hal yang sama dengan alasan berbeda.

Sebelumnya saya mengamankan kode python dengan marshal, kemudian mengcompilenya lagi ke pyc.

Ketika mencoba decompile pyc ke py dengan uncompyle6, hasilnya gagal. Alasannya karena uncompyle6 hanya bekerja pada python versi terdahulu, yaitu 3.8 ke bawah.

Setelah membawa masalah ini ke grup Facebook, ada seseorang menyarankan saya untuk menggunakan tools pycdc. Ketika saya coba, kompilasi pyc berhasil kembali ke py atau versi pythonnya.

Saya menggunakan termux dalam hal ini.

Berikut langkah-langkah pemasangan pycdc di termux dan cara decompile pyc ke py.

Cara Install Pycdc di Termux

Termux adalah aplikasi terminal android yang masih memiliki lingkungan Linux. Ini artinya, aplikasi ini juga dapat digunakan untuk mengoperasikan program seperti metasploit dan nmap.

Untuk memasang pycdc di termux, kita harus menyalin sumber repositorynya di github zrax. Ini alamat sumbernya.

https://github.com/zrax/pycdc

Berikut langkah-langkahnya.

Langkah 1: Persiapkan lingkungan termux

Pasang package seperti git, make, cmake, dan clang untuk mendukung pycdc. Dan lakukan juga update lingkungan termux untuk meminimalisir error.

Silahkan jalankan perintah berikut untuk menjalankan itu semua.

apt update && apt upgrade && pkg install git make cmake clang

Langkah 2: Clone repository pycdc ke termux

Dalam hal ini kita bisa menggunakan perintah git clone diikuti dengan alamat sumber. Jadi perintahnya akan seperti ini.

git clone https://github.com/zrax/pycdc

Jalankan perintah tersebut dan tunggu sampai 100%.

Langkah 3: Install Pycdc ke sistem termux

Pertama masuk dulu ke folder repository pycdc.

Gunakan perintah cd pycdc.

Kemudian install file pycdc ke sistem termux dengan perintah berikut.

cmake -DCMAKE_INSTALL_PREFIX={PREFIX} && make && make install

Proses install ini dapat memakan waktu kurang lebih 10 menit. Pastikan koneksi internet lancar dan layar Android tidak mati.

Setelah itu, salin file utama pycdc ke folder bin termux agar pycdc dapat dijalankan dari directory manapun.

Gunakan perintah berikut.

cp pycdc pycdas $PREFIX/bin

Di tahap ini pycdc sudah terinstal dan siap digunakan. Lihat cara penggunaannya berikut ini.

Cara decompile pyc ke py dengan pycdc

Proses ini juga sering disebut dengan unpyc. Intinya adalah mendapatkan kode asli dari compile python.

Caranya adalah jalankan perintah pycdc nama file pyc.

Kamu juga dapat menambah parameter > nama file baru agar hasilnya langsung tersimpan di file baru.

Contohnya: pycdc file.pyc > hasil.py

Contoh Kasus

Saya akan memberikan contoh kasus untuk menambah pemahaman. Disini saya akan melakukan decompile file hallo.pyc. File ini adalah kode python yang sudah dikompilasi dengan perintah python -m py_compile hallo.py.

Ini adalah tampilan dari file hallo.pyc

Img

Dan ini tampilan kode hallo.py yang asli

Img

Saya melakukan decompile file hallo.pyc dengan perintah berikut.

pycdc hallo.pyc

Dan ini hasilnya.

Img

Bisa kita lihat, pycdc berhasil melakukan decompile pyc tanpa mengubah isi kode python.

Kesimpulan

Pycdc sangat membantu dalam urusan mendapatkan kode asli dari file python yang dikompilasi atau compile. Dengan milihat kode python yang asli, kita bisa memastikan program yang kita jalankan aman.

Apabila kode python dicompile dengan marshal, kamu dapat mendecompilenya dengan tools unmarshal. Pelajari langkah-langkahnya pada cara decompile marshal.

Baik, sekian dulu pembahasan kali ini. Apabila ada hal yang ingin ditanyakan, silahkan tinggalkan komentar.

Tinggalkan Balasan