Proyek ini berisi kode dasar, kode yang dikalahkan, dan skrip otomatisasi yang digunakan untuk menguji model bahasa kemampuan untuk menafsirkan kode yang dikalahkan. Ini dibuat untuk garis besar proyek dalam Language Models and Obfuscated Code yang terletak di direktori Academic_Work . Makalah ini akan membantu mengklarifikasi apa yang sebagian besar dari ini karena readme ini cukup kasar.
Buat buku kerja bahwa hasil Anda akan disimpan.
Jalankan skrip codeLoader.py dari direktori utama menggunakan perintah python Automation/codeLoader.py .
root_dir_workbook ke tempat buku kerja Anda disimpan.current_workbook ke nama buku kerja yang Anda buat pada langkah pertama. Sekarang Anda harus memiliki buku kerja yang memiliki dua set lembar. Yang bernama B1 , B2 , .... dan lembaran yang bernama O1 , O2 , .... Setiap lembar harus memiliki garis header dan kode yang dikaburkan. Lembar bernama B# harus berisi semua kebingungan untuk kode dasar yang diberikan. Lembar bernama O# harus berisi semua kebingungan jenis itu.
Sudah ada 3 templat pertanyaan default di folder Automation/Question_Templates . Pertanyaan 1 dan 2 akan memasukkan kode dasar dan kode yang dikaburkan sebelum dan sesudah AND dalam file. Pertanyaan 3 hanya menggunakan kebingungan. Untuk menambahkan pertanyaan baru, buat file di folder Template Pertanyaan dan buat salinan file questionLoader_Q1.py dan edit untuk mengikuti format pertanyaan dari pertanyaan baru. Satu -satunya perubahan besar pada file yang dibutuhkan adalah: memasukkan kode dengan benar ke pertanyaan baru ketika string pertanyaan dibuat dan kolom dalam excel yang dimasukkan informasi. Variabel question_number harus diubah ke nomor pertanyaan baru. question_column menentukan di mana pertanyaan dimasukkan ke dalam spreadsheet. answer_column menentukan di mana respons diletakkan. File codeLoader.py juga perlu diedit untuk mendapatkan dropdown peringkat kebenaran untuk pertanyaan baru. Spreadsheet Template juga perlu diedit untuk menambahkan header untuk pertanyaan baru.
Tiga API model bahasa yang sudah diatur adalah Openai's ChatGPT 3.5, AI21 Studio's Jurassic-2, dan Google Palm. File yang berisi panggilan API ada di direktori Automation . Untuk menambahkan model bahasa lain, cukup buat file yang berisi metode bernama askQuestion yang mengambil pertanyaan sebagai string.
Automation/key.py perlu dibuat untuk menahan Anda tombol API.
Setelah skrip codeLoader.py dijalankan. Pilih pertanyaan untuk dijalankan dari file bernama questionLoader_Q#.py .
root_dir_workbook ke direktori yang sama yang digunakan dalam codeLoader.pycurrent_workbook ke buku kerja yang dibuat sebelumnya.LM menjadi nama LM yang ingin Anda gunakan.Automation menggunakan perintah python questionLoader_Q1.pyNONE pertanyaan. Ini adalah kesalahan dengan API dan pertanyaan kami yang belum dilihat. Folder Compiled_Code dan file C_codeLoader.py dan C_questionLoader_Q#.py adalah untuk arah masa depan dalam penelitian ini. Folder Compiled_Code berisi versi perakitan dari semua kode yang dikaburkan, dibuat menggunakan https://godbolt.org/. File C_ adalah versi yang diubah dari skrip reguler yang dibuat untuk berfungsi dengan kode yang dikompilasi. Catatan: Jika Anda menjalankan pertanyaan dengan kode yang dikompilasi, ukuran token terlalu besar dalam banyak kasus karena panjang kode perakitan.
Mungkin ada file acak lainnya, tetapi sebagian besar file harus fungsional.
Ini hanya diuji pada Windows 10 di satu komputer. Jika berfungsi di komputer saya, saya yakin itu akan berhasil pada Anda. Satu -satunya perangkat lunak tambahan yang dibutuhkan adalah Excel.
openpyxl digunakan dalam proyek ini untuk memformat data dalam spreadsheet Excel. Perpustakaan harus tersedia melalui PIP.