Idacode memudahkan untuk mengeksekusi dan men -debug skrip python di lingkungan IDA Anda tanpa meninggalkan kode studio visual. Ekstensi VS Code dapat ditemukan di pasar.
Idacode masih dalam keadaan sangat awal dan bug diharapkan. Harap buka masalah baru jika Anda mengalami masalah.
debugpy untuk komunikasi, itu menyinkronkan jendela output secara alami dengan panel output VS Code.Idacode mendukung Python 2 dan Python 3!
Untuk mengatur dependensi untuk Plugin Run IDA:
# make sure to use the correct Python version
# IDACode supports the latest debugpy as of version 3.0.0, make sure to upgrade!
python -m pip install --user debugpy tornado Baik klon repositori ini atau unduh paket rilis dari sini. ida.zip mencerminkan konten folder ida di repositori ini. Salin semua file ke direktori plugin IDAS.
Langkah selanjutnya adalah mengonfigurasi pengaturan Anda agar sesuai dengan lingkungan Anda. Edit idacode_utils/settings.py sesuai:
HOST : Ini adalah alamat host. Ini selalu 127.0.0.1 kecuali Anda ingin dapat diakses dari lokasi yang jauh. Perlu diingat bahwa plugin ini tidak memanfaatkan otentikasi.PORT : Ini adalah port yang ingin Anda dengarkan. Ini digunakan untuk komunikasi WebSocket antara IDA dan VS Code.DEBUG_PORT : Ini adalah port yang ingin Anda dengarkan untuk sesi debug yang masuk.PYTHON : Ini adalah jalur absolut ke distribusi Python yang digunakan pengaturan IDA Anda.LOGGING : Menentukan apakah debugger harus masuk ke file. Ini sangat berguna ketika Anda mengalami masalah dengan Idacode. Harap kirimkan masalah baru jika Anda menemukan sesuatu. File selalu terletak di direktori temp Anda (misalnya Windows: %TEMP% ). File disebut debugpy.*.log . Anda sekarang dapat memulai plugin dengan mengklik IDACode di menu plugin.
Ekstensi kode VS tersedia di pasar. Untuk mengonfigurasi ekstensi, silakan merujuk ke readme ekstensi.
Tekan IDACode di menu plugin. Anda harus disambut dengan teks berikut:
IDACode listening on 127.0.0.1:7065
Pada versi 0.2.0 Idacode mendukung "Execute on Save" yang diaktifkan secara default. VS Code akan secara otomatis menjalankan skrip Anda di IDA segera setelah Anda menyimpan dokumen saat ini (misalnya dengan Ctrl+S). Perilaku ini dapat dinonaktifkan dalam pengaturan.
Ada 4 perintah yang Anda inginkan:

Setelah Anda memiliki folder yang ingin Anda masukkan skrip Anda (Anda harus menentukan folder ketika VS Code meminta Anda!) Anda siap untuk terhubung ke IDA. Anda dapat melakukannya dengan mengeksekusi Connect to IDA atau Connect and attach a debugger to IDA . Harap diingat bahwa sesi debug bersifat permanen sampai Anda memulai kembali IDA. Anda tidak dapat mengubah folder ruang kerja setelah debugger dimulai.
Pastikan folder ruang kerja adalah folder tempat skrip utama Anda berada.
Setelah Anda terhubung, Anda dapat memilih Execute script in IDA .
Idacode menggunakan debugger jarak jauh vs kode untuk terhubung ke IDA. Semua fitur VS Code didukung. Namun, Anda harus menentukan titik entri skrip dengan menggunakan fungsionalitas python builtin: breakpoint . Instruksi ini memberi tahu debugger untuk menjeda eksekusi, jika tidak ada debugger itu hanya akan mengabaikan fungsi tersebut. Idacode mengimpor paket pembantu yang disebut dbg yang mengimplementasikan kelebihan breakpoint yang disebut bp . Fungsi ini mendukung pencatatan dan kondisional:
name = idc . get_segm_name ( segment )
dbg . bp ( name == ".text" , f"found { name } at { segment } " ) Harap perhatikan juga bahwa panggilan breakpoint() tidak boleh terjadi pada akhir file, itu harus selalu sebelum baris kode lain saat pecah pada instruksi berikutnya dalam kode Anda. Perhatikan juga bahwa jika Anda memutuskan untuk menggunakan paket dbg , Anda harus menghapus semua referensi atau menggunakan variabel __idacode__ sebagai bersyarat sebelum menjalankannya sebagai skrip IDA normal.
Penting juga bahwa melampirkan debugger akan membuat instance debugger baru. Dalam kebanyakan kasus ini bukan yang Anda inginkan. Jika Anda memutuskan dari debugger debugger menggunakan debugger jarak jauh vs kode untuk terhubung kembali.
