Este projeto contém scripts de código base, código ofuscado e automação usados para testar os modelos de linguagem Capacidade de interpretar o código ofuscado. Isso foi criado para o esboço do projeto nos Language Models and Obfuscated Code localizado no diretório Academic_Work . O artigo ajudará a esclarecer o que a maior parte disso porque esse leitura é bastante difícil.
Crie a pasta de trabalho em que seus resultados serão armazenados.
Execute o script codeLoader.py no diretório principal usando o comando python Automation/codeLoader.py .
root_dir_workbook para onde sua pasta de trabalho está armazenada.current_workbook como o nome da pasta de trabalho que você criou na etapa um. Agora você deve ter uma pasta de trabalho com dois conjuntos de folhas. Os que são chamados B1 , B2 , .... e folhas que são chamadas O1 , O2 , .... Cada folhas deve ter uma linha de cabeçalho e o código ofuscado. As folhas denominadas B# devem conter todas as ofuscações para o código base fornecido. As folhas denominadas O# devem conter todas as ofuscações desse tipo.
Já existem 3 modelos de perguntas padrão na pasta Automation/Question_Templates . As perguntas 1 e 2 inserirão o código base e o código ofuscado antes e depois do AND no arquivo. A pergunta 3 usa apenas a ofuscação. Para adicionar uma nova pergunta, crie o arquivo na pasta do modelo de perguntas e crie uma cópia do arquivo de questionLoader_Q1.py e edite -o para seguir o formato da pergunta da nova pergunta. As únicas grandes alterações no arquivo que são necessárias são: inserindo corretamente o código na nova pergunta quando a sequência de perguntas é criada e as colunas no Excel para o qual as informações são inseridas. A variável question_number deve ser alterada para o novo número da pergunta. question_column determina onde a pergunta é inserida na planilha. answer_column determina onde a resposta é colocada. O arquivo codeLoader.py também precisará ser editado para obter os suspensos de classificação de correção para a nova pergunta. A planilha Template também precisará ser editada para adicionar os cabeçalhos para a nova pergunta.
As três APIs do modelo de idioma que já estão configuradas são o Jurassic-2 do ChatGPT 3.5 do OpenAI, o Jurassic-2 do AI21 Studio e o Google Palm. Os arquivos que contêm as chamadas da API estão no diretório Automation . Para adicionar outro modelo de idioma, basta criar um arquivo contendo um método chamado askQuestion que toma a pergunta como uma string.
Um nome de arquivo Automation/key.py precisará ser criado para segurar as teclas da API.
Uma vez que o script codeLoader.py for executado. Escolha uma pergunta a ser executada nos arquivos nomeados questionLoader_Q#.py .
root_dir_workbook para o mesmo diretório usado em codeLoader.pycurrent_workbook para a pasta de trabalho criada anteriormente.LM para o nome do LM que você deseja usar.Automation usando o comando python questionLoader_Q1.pyNONE respostas a perguntas. É um erro com a API e nossas perguntas que não foram analisadas. A pasta Compiled_Code e os arquivos C_codeLoader.py e C_questionLoader_Q#.py são para instruções futuras nesta pesquisa. A pasta Compiled_Code contém a versão de montagem de todo o código ofuscado, criado usando https://godbolt.org/. Os arquivos C_ são versões alteradas dos scripts regulares criados para trabalhar com o código compilado. Nota: Se você executar perguntas com o código compilado, o tamanho do token é muito grande em muitos casos devido à duração do código de montagem.
Provavelmente existem outros arquivos aleatórios, mas a maioria dos arquivos deve ser funcional.
Isso foi testado apenas no Windows 10 em um computador. Se funcionar no meu computador, tenho certeza de que funcionará no seu. O único software extra necessário é o Excel.
openpyxl é usada neste projeto para formatar os dados nas planilhas do Excel. A biblioteca deve estar disponível através do PIP.