Converter apk para dex

Converter APK para DEX

Extraia os arquivos classes.dex e multidex de um APK usando 7-Zip ou unzip.

Converter ficheiros APK online

Ainda não temos um conversor online dedicado para APK para DEX, mas pode converter ficheiros APK online para estes formatos:

Quer converter APK para DEX?

Diga-nos. Escolhemos as próximas conversões a adicionar de acordo com o interesse.

Como converter apk para dex arquivo

  • Arquivos

Algumas ferramentas de análise de Android aceitam um arquivo DEX independente em vez de um APK, e extraí-lo pode reduzir um pacote de aplicativo ao seu bytecode executável para inspeção ou arquivamento. Um APK normalmente já contém um ou mais arquivos DEX, portanto essa tarefa geralmente é uma extração, e não uma conversão de formato.

O que é o formato APK

Um APK é um pacote de aplicativo Android armazenado como um arquivo baseado em ZIP. Android Studio e as ferramentas de build do Gradle produzem APKs que contêm o código do aplicativo, recursos compilados, o manifesto, assets, bibliotecas nativas, certificados e metadados do pacote.

O código executável geralmente é armazenado em classes.dex. Aplicativos multidex também contêm classes2.dex, classes3.dex e arquivos com numeração superior. Os pipelines de build do Android geralmente geram DEX com d8; R8 também pode reduzir e otimizar o código. Projetos mais antigos podem usar dx.

O que é o formato DEX

DEX, ou Dalvik Executable, é bytecode do Android para os runtimes Dalvik e ART. Um arquivo DEX independente é útil para ferramentas que aceitam bytecode sem um APK, para preservar apenas o código executável ou para inspecionar classes com ferramentas como baksmali ou JADX.

DEX não é um aplicativo instalável e não contém os recursos, o manifesto, as bibliotecas nativas, os assets ou as informações de assinatura do APK. Ele também não é código-fonte Java. JADX pode produzir uma saída semelhante a Java para inspeção, mas a descompilação perde comentários e formatação e pode não reconstruir exatamente o fluxo de controle ou os tipos originais.

Como extrair DEX de um APK

  1. Mantenha uma cópia inalterada do APK e examine arquivos desconhecidos antes de abri-los ou extraí-los.
  2. Liste o conteúdo do pacote com unzip -l app.apk no Linux ou macOS, ou abra o APK com 7-Zip no Windows. Renomear .apk para .zip é desnecessário, pois ambos os formatos usam um contêiner ZIP.
  3. Extraia todas as entradas correspondentes a classes*.dex. Em um shell, crie um diretório de saída e execute mkdir -p dex-output && unzip -j app.apk 'classes*.dex' -d dex-output. No 7-Zip, selecione as entradas DEX e escolha 7-Zip → Extract To.
  4. Verifique se a saída inclui todos os arquivos DEX numerados, e não apenas classes.dex. Preserve os nomes de arquivo originais, pois os arquivos multidex juntos representam o bytecode do aplicativo.

7-Zip é uma opção prática para desktop no Windows, enquanto o utilitário padrão unzip é suficiente no Linux e no macOS. Essas ferramentas extraem os arquivos existentes sem recompilar ou recomprimir o código do aplicativo.

Quando a recompilação é realmente necessária

Se o código DEX tiver sido editado ou gerado a partir de smali ou outra entrada, use o d8 do Android SDK para compilá-lo, por exemplo d8 --output out classes.jar quando a entrada for um JAR compatível. Substituir arquivos DEX dentro de um APK é uma operação de rebuild, não uma simples extração; o pacote reconstruído precisa ser alinhado e assinado antes que o Android possa instalá-lo. Dex2jar não é a ferramenta correta para converter APK em DEX: ela converte bytecode DEX em arquivos JAR compatíveis com Java para análise.

Limitações de compatibilidade e segurança

A extração de DEX preserva o bytecode presente no APK, mas um arquivo independente pode depender de outros arquivos DEX, recursos, bibliotecas nativas ou classes do pacote. Combinar arquivos multidex em um único arquivo não é uma conversão neutra e pode exceder os limites de referências de métodos do DEX ou exigir a reconstrução com dependências compatíveis e um nível de API adequado.

Alterar qualquer arquivo DEX invalida a assinatura original do APK quando o pacote é reconstruído. Um DEX independente não possui assinatura de APK e não pode ser instalado sozinho. Alguns pacotes protegidos ou incomuns podem carregar código adicional em tempo de execução, armazenar código fora das entradas usuais classes*.dex ou usar APKs divididos; portanto, extrair as entradas visíveis pode não capturar todo o código executável.

Conversores online de APK para DEX são desnecessários para pacotes comuns e inadequados para arquivos proprietários, assinados ou não confiáveis, pois o upload expõe o código do aplicativo e possivelmente segredos incorporados. A extração local com 7-Zip ou unzip é mais segura e produz diretamente os arquivos DEX necessários.

Comparação de formato: APK vs DEX

Como os formatos APK e DEX se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo APK e DEX
Propriedade .APK Android Package .DEX Dalvik Executable
Padrão aberto Não Não
Compressão Ambos —
Tamanho típico do arquivo Médio Pequeno
Abre num navegador web Não Não
Edição posterior Não editável diretamente Não editável diretamente
Suporte a metadados Básico Básico
Legível em texto simples Não Não
Mais usado para Incorporação em aplicações Incorporação em aplicações
Introduzido 2008 2008
Desenvolvedor Google Google
Tipo MIME application/vnd.android.package-archive —

O banco de dados atualmente não contém nenhum conversor de arquivo apk.

Outras conversões de arquivo .apk

Converter para .dex
de outros formatos

Compartilhar nas redes sociais: