.SMALI

Arquivo SMALI

Android Smali Assembly Source File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo .smali é o código-fonte assembly Dalvik do Android produzido quando um APK é desmontado com o apktool ou baksmali. É um artefato de engenharia reversa - não é algo que usuários comuns encontrem. Abra-o em qualquer editor de texto ou Visual Studio Code. Se você tiver uma pasta de arquivos .smali e quiser obter um APK de volta, use o apktool para remontá-los.

Desenvolvedor: Ben Gruver (JesusFreke) - original author; now maintained by Google (baksmali/smali v3) Categoria: Arquivos de Desenvolvedor MIME: text/plain
ABRE EM Windows macOS Linux Android
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Aug 12, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro SMALI?

Arquivos .smali contêm bytecode Dalvik ou ART legível por humanos - a representação em linguagem assembly do código de aplicativo Android. Os nomes smali e baksmali são palavras islandesas para montador (assembler) e desmontador (disassembler); as ferramentas foram criadas por Ben Gruver (JesusFreke) em 2010 e agora são mantidas pelo Google.

Quando um .apk do Android é descompactado usando apktool ou baksmali, cada classe compilada dentro do arquivo .dex é extraída como um arquivo .smali separado. A sintaxe declara metadados de classe com as diretivas .class, .super e .implements; campos com .field; e métodos dentro de blocos .method....end method. Opcodes Dalvik individuais (invoke-virtual, move-result, return-void e outros) operam em registradores nomeados (v0, v1, p0, etc.).

Arquivos .smali são usados principalmente em engenharia reversa de Android, pesquisa de segurança e desafios de CTF (Capture The Flag). Um fluxo de trabalho típico é: descompactar um APK com apktool d, editar as fontes .smali para corrigir comportamentos, depois reempacotar com apktool b e assinar novamente. Eles são um artefato intermediário de desmontagem - usuários comuns de Android nunca encontram arquivos .smali brutos.

Cada arquivo .smali corresponde a exatamente uma classe, incluindo classes internas anônimas (que aparecem como arquivos separados). Os opcodes disponíveis variam de acordo com o nível da API do Android, refletido na versão do formato .dex (ex: 035 para Android 5, 039 para Android 12+).

Segurança e proteção

RISCO: MEDIUM

Arquivos .smali em si são texto simples e não podem prejudicar seu sistema quando visualizados em um editor. O risco é contextual: 1. Se você desmontou um APK suspeito, os arquivos .smali revelam seu comportamento - procure por strings ofuscadas, carregamento de código dinâmico (DexClassLoader) e chamadas de rede para hosts suspeitos. 2. Corrigir APKs e assiná-los novamente para distribuição pode violar os termos de serviço do aplicativo e, em algumas jurisdições, a lei de direitos autorais. O uso pessoal é geralmente aceito; a redistribuição não. 3. Ao baixar «patches» .smali de fontes desconhecidas - trate como código executável; revise antes de aplicar.

Detalhes do formato

em resumo
NOME COMPLETOAndroid Smali Assembly Source Filetambém conhecido como Smali file, Dalvik assembly
DESENVOLVEDORBen Gruver (JesusFreke) - original author; now maintained by Google (baksmali/smali v3)desde 2010 (baksmali 1.0 by Ben Gruver/JesusFreke)
TIPO MIMEtext/plain
TIPOcódigo-fonte assembly em texto simples (representação de bytecode Dalvik/ART)
RELACIONADO.do.md.hex.xsd

Programas que abrem arquivos SMALI

Windows3 apps
NotePad++ text editor Código aberto Arquivo > Abrir - selecione o arquivo .smali. Realce de sintaxe via linguagem definida pelo usuário para smali disponível na comunidade NP++.
Visual Studio Code Código aberto Abra o arquivo .smali diretamente; instale a extensão «smali» do marketplace do VS Code para realce de sintaxe.
apktool Código aberto apktool d app.apk - produz pasta de arquivos .smali. apktool b folder/ - os remonta em um APK.
macOS3 apps
TextEdit Integrado Abra o arquivo .smali no TextEdit (modo de texto simples - Formatar > Converter para Texto Simples).
Visual Studio Code Código aberto Abra o arquivo .smali diretamente; instale a extensão «smali» do marketplace do VS Code para realce de sintaxe.
apktool Código aberto apktool d app.apk - produz pasta de arquivos .smali. apktool b folder/ - os remonta em um APK.
Linux3 apps
gedit Código aberto Abra o arquivo .smali no gedit para visualização e edição.
apktool Código aberto apktool d app.apk - produz pasta de arquivos .smali. apktool b folder/ - os remonta em um APK.
Vim / Vi Código aberto vim file.smali - plugin de sintaxe smali da comunidade disponível.
Android1 app
Not applicable Gratuito Arquivos Smali são artefatos de desenvolvimento/engenharia reversa; eles não são abertos em dispositivos Android.

Detalhes técnicos

especificação profunda
DesenvolvedorBen Gruver (JesusFreke), autor original; agora mantido pelo Google (baksmali/smali v3+)
Tipo de arquivoAssembly de bytecode Dalvik/ART legível por humanos em texto simples
CodificaçãoUTF-8
Etimologia do nomesmali e baksmali são islandês para montador e desmontador
Um arquivo por classeCada arquivo `.smali` mapeia para exatamente uma classe Java ou Kotlin, incluindo classes internas anônimas
Equivalente compilado`.dex` (Dalvik Executable) - `.smali` é a representação legível por humanos desmontada
Tamanho típico1 KB - 200 KB por arquivo; aplicativos Android complexos produzem milhares de arquivos `.smali`
Sintaxe de registradorRegistradores locais: `v0`, `v1`, ...; registradores de parâmetros: `p0`, `p1`, ... (`p0` é `this` em métodos de instância)
Versão do OpcodeVinculado à versão do formato `.dex`: 035 (Android 5-6), 037 (Android 7), 038 (Android 8-11), 039 (Android 12+)
Fluxo de trabalho padrãoAPK → desmontagem `baksmali` → editar `.smali` → montagem `smali` → APK reempacotado (requer nova assinatura)
Integração de ferramentasO `apktool` usa `smali`/`baksmali` internamente para desmontagem e remontagem de APK
Principais casos de usoEngenharia reversa de Android, correção de aplicativos, pesquisa de vulnerabilidades de segurança, desafios de CTF
Lançado2010 (baksmali 1.0 by Ben Gruver/JesusFreke)
Versão mais recentesmali/baksmali 3.x (Google-maintained as of 2024)
Especificaçãogithub.com

Conversões de SMALI

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos SMALI. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos SMALI.

Perguntas frequentes

Como obtenho arquivos .smali de um APK?
Use o apktool: execute «apktool d yourapp.apk» em um terminal. Ele cria uma pasta com arquivos .smali para cada classe. Alternativamente, use o baksmali diretamente no classes.dex dentro do APK.
Como transformo arquivos .smali de volta em um APK?
Use o apktool: execute «apktool b foldername/» para reconstruir o APK e, em seguida, assine-o novamente com apksigner ou jarsigner.
Posso descompilar .smali para Java?
Indiretamente - use o jadx diretamente no APK para obter o código-fonte Java. O jadx é melhor do que tentar converter smali→Java manualmente.
O que significa a sintaxe de registrador Dalvik (v0, p0)?
Registradores são o equivalente smali para variáveis locais. Registradores «v» são locais gerais; registradores «p» são parâmetros de método (p0 = «this» em métodos de instância).
Arquivos .smali são seguros para abrir?
Sim - são arquivos de texto simples. Eles não podem ser executados quando visualizados em um editor de texto.
É legal descompilar APKs para smali?
A legalidade varia de acordo com a jurisdição e o caso de uso. Engenharia reversa para interoperabilidade, pesquisa de segurança e uso pessoal é geralmente permitida; a redistribuição de APKs modificados pode violar direitos autorais ou termos de serviço.

Referências

1GitHub - baksmali/smali (official, Google-maintained)github.com
2apktool - A tool for reverse engineering APKsapktool.org

Continue explorando

em todo o banco de dados

Principais extensões desta semana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.BINCD/DVD Disc Image (BIN/CUE)
4.DATProgram Data File (generic)
5.PARTPartial Download File
6.EXEWindows Executable (Portable Executable)
7.NOMEDIAAndroid No-Media Marker File
8.RPMSGRestricted Permission Message
9.TMPTemporary File
10.TXTPlain Text File

Extensões relacionadas

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z