Olá pessoal, alguém pode me ajudar?
Estou enfrentando um problema, tenho uma aplicação python, que irei fornecer a um usuário final(ela tem interface, e um sistema simples para que eu possa enviar atualizações). Entretanto preciso ter uma mínima segurança possível para que não consigam abrir o source code com facilidade, mesmo que não seja 100% eficaz. Por isso estou utilizando o pyarmor como ferramenta, visto que até então não encontrei conteúdo que instigasse algum curioso aleatório vendo vídeo de Youtube que quebrasse a sua criptografia de forma fácil.
Só que tenho um impasse: eu quero gerar um executável com o código criptografado, mas não encontrei a forma de empacotar esses arquivos incluindo as pastas.
Segue um exemplo genérico da estrutura inicial da pasta antes do empacotamento com Pyarmor:
./folder\arquivo_principal.py
./folder\atualizador_arquivo_principal.py
./folder\Pasta_arquivosPrivados\
./folder\Pasta_arquivosPrivados\arquivo.db
./folder\Pasta_Driver\
./folder\Pasta_Driver\chromedriver.exe
./folder\Pasta_Driver\msedge.exe
./folder\Pasta_Driver\geckodriver.exe
./folder\Pasta_Interface\
./folder\Pasta_Interface\tela01.ui
./folder\Pasta_Interface\tela02.ui
./folder\Pasta_arquivosPublicos\
./folder\Pasta_arquivosPublicos\arquivo_pro_usuário.txt
./folder\Pasta_arquivosPublicos\informs\.tempdata
Legenda das cores:
- Texto em vermelho: Arquivos principais para transformar em .exe
- Texto marcado em amarelo: Pastas a serem empacotadas com os arquivos principais.
- Texto em verde: Subpastas do diretório que ficarão de fora do empacotamento, mas fazem parte da aplicação, elas são destinadas para interação do usuário e também uma determinada função da aplicação.
- Texto em cinza: arquivos dentro das subpastas
O que eu preciso neste caso é obter a seguinte estrutura final:./folder\arquivo_principal.exe
./folder\atualizador_arquivo_principal.exe
./folder\Pasta_arquivosPublicos/
./folder\Pasta_arquivosParaUsuarioInteragir\arquivo_pro_usuário.txt
./folder\Pasta_arquivosParaUsuarioInteragir/informs/.tempdata
Ou seja, eu teria um executável para executar a aplicação, outro executável responsável para atualizar os arquivos da aplicação(ele apagaria o arquivo_principal.exe e faria a substituição por um novo arquivo_principal.exe com o source code mais recente. E também a pasta contendo os arquivos que são "públicos".
O que eu tentei fazer que não consegui encontrar a resposta?
Tentei rodar o comando: pyarmor pack -e " --onefile" main.py
Porém não funcionou para mim, pois ele só empacota o arquivo principal, e ao executá-lo ele dá erro por não encontrar os arquivos das pastas que compõem o programa.