forked from LombardiDaniel/Generic-C-BinaryFile-Indexer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
descricao.txt
35 lines (27 loc) · 1.78 KB
/
descricao.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Daniel Lombardi - 738340
Leticia Machado - 790945
Vinicius Rodrigues - 790717
Nossa ideia para o trabalho é criar um programa genérico para indexação de arquivos
binários.
O usuário passa a descrição das structs salvas por um arquivo YAML e nosso programa
indexa e oferece uma interface para busca ao usuário.
O programa irá funcionar utilizando uma interface em python para a especificação
da struct. Utilizando cookie-cutters, o programa (a partir de templates de arquivos
em C/C++ para interação e indexação dos arquivos binários) gerará um código para
ser compilado. O programa realizará chamadas ao g++ para compilar o código em C/C++,
que terá seu terminal mapeado para o programa em python.
Ou seja, o programa terá seu executor escrito em C/C++ e compilado JIT, e terá uma
CLI em python.
Ainda não foi decidido exatamente como a interação entre os arquivos C/C++ e python
ocorrerá. No momento, pensamos em utilizar a biblioteca de sub-processos do python.
Módulos necessários:
- CLI: biblioteca _click: https://click.palletsprojects.com/en/8.1.x/
- Criação dos arquivos C/C++: jinja2 templates: https://www.youtube.com/watch?v=bxhXQG1qJPM
- Compilação dos arquivos C/C++: GNU G++
- Interação com os executáveis em C/C++: biblioteca subprocesses: https://www.youtube.com/watch?v=2Fp1N6dof0Y
A divisão de trabalho se dá por (de forma geral):
- Daniel: Responsável pelo parser e arquivos em python
- Leticia: Responsável pelos arquivos que geram a indexação em C/C++
- Vinicius: Responsável pela comunicação entre os arquivos finais (subprocessos em python) e auxiliar na criação de templates
Por mais que essa divisão de trabalho seja feita, os 3 alunos tem responsabilidade de todas as partes
do projeto, auxiliando os outros.