Descompile arquivos bytecode Python (.pyc) de volta para código-fonte Python legível. Carregue arquivos .pyc e obtenha o código Python original.
Features
- Descompilação Bytecode: Converta bytecode Python de volta para código fonte Python legível.
- Análise Código: Visualize código fonte reconstruído e estrutura.
- Exportar Código: Baixe código Python descompilado.
- Múltiplas Versões: Suporta .pyc de várias versões Python.
Usage Guide
- Carregar: Selecione e carregue arquivo .pyc.
- Descompilar: Clique descompilar para gerar código Python.
- Revisar: Revise código fonte descompilado.
Technical Details
Processo Descompilação Python
Descompilar arquivos PYC para código fonte Python envolve engenharia reversa de bytecode de volta para sintaxe Python de alto nível.
Algoritmos Descompilação
Descompiladores modernos usam algoritmos sofisticados: análise fluxo controle, análise fluxo dados e reconstrução baseada em padrões.
Considerações Legais
Descompilação PYC serve propósitos legítimos: recuperação código legado, análise segurança e fins educacionais.
Frequently Asked Questions
- O que é um arquivo .pyc e como ele é criado?
- Arquivos .pyc são arquivos de bytecode Python criados quando o Python importa um módulo. O Python compila arquivos fonte .py para bytecode (.pyc) para execução mais rápida em execuções subsequentes. O arquivo .pyc contém: número mágico (identificando versão Python), timestamp ou hash (para validação de cache) e objetos de código marshalled (instruções bytecode). Estes arquivos são armazenados em diretórios __pycache__ e permitem ao Python pular a etapa de compilação na reimportação, melhorando o tempo de inicialização.
- O código descompilado pode ser idêntico ao código fonte original?
- Não, o código descompilado não pode ser 100% idêntico ao código fonte original. Durante a compilação, o Python perde: comentários e docstrings (exceto em objetos de código), nomes de variáveis originais em alguns contextos, formatação e espaços em branco, e certas construções de alto nível que compilam para bytecode similar. No entanto, descompiladores podem reconstruir código funcionalmente equivalente que executa as mesmas operações. A precisão depende da versão Python, nível de otimização e complexidade do código.
- Quais versões Python são suportadas para descompilação?
- A maioria dos descompiladores modernos suportam versões Python de 2.7 a 3.11+. Cada versão Python usa formatos de bytecode diferentes com números mágicos e opcodes únicos. A ferramenta tenta detectar a versão Python do cabeçalho do arquivo .pyc e usar algoritmos de descompilação apropriados. No entanto, versões Python muito novas (3.12+) ou muito antigas (pré-2.6) podem ter suporte limitado. Para melhores resultados, garanta que a versão do descompilador corresponda ou suporte sua versão Python alvo.
- É legal descompilar arquivos .pyc?
- A legalidade da descompilação varia por jurisdição e circunstância. Geralmente é legal: descompilar seu próprio código (recuperando código fonte perdido), analisar bibliotecas de código aberto (respeitando suas licenças), pesquisa de segurança e análise educacional. Pode ser ilegal ou violar termos de serviço: descompilar software proprietário sem permissão, violar acordos de licença de software, reverter engenharia de software protegido por copyright para uso comercial. Sempre consulte aconselhamento legal e leia acordos de licença antes de descompilar código de terceiros.
Related Documentation
- Descompiladores Python - Ferramentas descompilação Python.
- Bytecode Python - Especificação bytecode Python.
- Uncompyle6 - Descompilador Python - Descompilador Python líder para arquivos .pyc.
- PEP 3147 - Repositórios PYC - Python Enhancement Proposal sobre arquivos de bytecode.
- Decompyle++ - Descompilador C++ - Descompilador Python de alto desempenho escrito em C++.