Python - Proteja Seu Arquivo .exe ou .py e ou Force o Download Direto do GitHub! - CanalQb - Scripts e Criptos
Imagem do canal CanalQb


Python - Proteja Seu Arquivo .exe ou .py e ou Force o Download Direto do GitHub!





Sempre crie uma frase de segurança única para jogos, Airdrops e qualquer outra coisa de origem desconhecida, em vez de usar sua carteira principal.



Se você tem um programa em Python convertido para .exe e deseja garantir que ele só seja executado quando baixado diretamente de um repositório GitHub, sem permitir que usuários o usem a partir de uma pasta local, temos uma solução simples para você!

O Problema

Às vezes, ao distribuir um arquivo .exe, é possível que o usuário baixe o arquivo e o execute a partir de sua própria pasta local, o que pode gerar problemas de segurança ou controle. Você gostaria de garantir que o arquivo .exe seja sempre executado a partir do seu repositório GitHub, ou de um link confiável, e impedir que ele funcione em locais não autorizados.

A Solução

Neste post, mostramos como implementar um script Python que assegura que o arquivo .exe só pode ser executado se estiver sendo obtido diretamente do GitHub. Caso contrário, o programa será bloqueado e não executado. A ideia é que o script do usuário baixe o arquivo diretamente do seu repositório, garantindo a origem do arquivo.

Como Funciona?

Verificação do Caminho de Execução: O arquivo .exe verifica se ele está sendo executado de um caminho que não seja o GitHub. Se o programa estiver em uma pasta local, ele será imediatamente bloqueado.

Forçar o Download do GitHub: O script Python que acompanha o .exe irá garantir que o arquivo seja baixado diretamente de seu repositório no GitHub, antes de ser executado.

Passo a Passo: Como Usar o Script

1. Verificação do Caminho no Arquivo .exe

No código Python que você compila para .exe, você vai adicionar a seguinte verificação para garantir que ele só funcione quando baixado do GitHub:

import os

import sys


# Caminho da URL do GitHub onde o arquivo deve estar

url_esperada = "https://github.com/usuario/repositorio/programa.exe"


def verificar_execucao():

    # Verifica o diretório onde o programa foi executado

    caminho_atual = os.path.abspath(sys.argv[0])

    

    # Checa se o caminho contém a URL ou o diretório do GitHub

    if "github.com" not in caminho_atual:

        print("Este programa só pode ser executado diretamente do GitHub. Execução bloqueada.")

        sys.exit(1)  # Finaliza o programa


# Chama a função ao iniciar o programa

verificar_execucao()


print("Programa executado com sucesso!")

2. Script Python para Baixar o Arquivo .exe do GitHub

Antes de rodar o arquivo .exe, você pode usar um simples script Python para garantir que o programa seja baixado diretamente do GitHub:


import requests


# URL do GitHub onde o arquivo .exe está armazenado

url_programa = "https://github.com/usuario/repositorio/raw/main/programa.exe"


def baixar_programa():

    resposta = requests.get(url_programa)

    if resposta.status_code == 200:

        with open("programa.exe", "wb") as f:

            f.write(resposta.content)

        print("Programa baixado com sucesso!")

    else:

        print("Erro ao baixar o programa.")


# Baixa o arquivo antes de executá-lo

baixar_programa()


# Agora o arquivo 'programa.exe' pode ser executado

import subprocess

subprocess.run(["programa.exe"])

Vantagens

Segurança: Impede que o arquivo seja usado em locais não autorizados (como uma pasta local), garantindo que ele sempre venha de uma fonte confiável.

Controle: Você tem total controle sobre a distribuição do arquivo .exe, já que ele só pode ser baixado e executado do seu repositório GitHub.

Facilidade de Implementação: O código é simples e fácil de adaptar às suas necessidades.

Limitações

Dependência de Conexão à Internet: Como o arquivo precisa ser baixado diretamente do GitHub, é necessário que o usuário tenha acesso à internet.

Segurança: Embora a verificação do caminho ajude a garantir que o arquivo seja executado de locais controlados, ela pode ser contornada por alguém com conhecimento técnico avançado.

Conclusão

Essa solução é uma maneira simples e eficiente de garantir que seu programa .exe seja executado apenas quando baixado diretamente de um repositório GitHub, evitando que ele seja utilizado de maneira indevida a partir de pastas locais. Com esses passos, você pode manter um controle maior sobre o uso do seu software e garantir a integridade do processo de download.

Experimente o código e ajuste conforme necessário para sua aplicação!

Nenhum comentário

Comente só assim vamos crescer juntos!

Observação: somente um membro deste blog pode postar um comentário.

O CanalQb é um projeto de blog de complemento para o youtube.com/@canalqb, criado e gerenciado pelo Rodrigo Carlos Moraes.