.SMALI

SMALI-fil

Android Smali Assembly Source File
Still et spørsmål
HURTIGSVAR

En .smali-fil er Android Dalvik assembly-kildekode produsert når en APK blir deassemblert med apktool eller baksmali. Det er et verktøy for reverse-engineering - ikke noe vanlige brukere kommer borti. Åpne den i et hvilket som helst tekstredigeringsprogram eller Visual Studio Code. Hvis du har en mappe med .smali-filer og vil ha en APK tilbake, bruker du apktool for å sette dem sammen igjen.

Utvikler: Ben Gruver (JesusFreke) - original author; now maintained by Google (baksmali/smali v3) Kategori: Utviklerfiler MIME: text/plain
ÅPNES PÅ Windows macOS Linux Android
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Aug 12, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er SMALI-filformatet?

.smali-filer inneholder menneskelig lesbar Dalvik eller ART bytecode - assembly-språk-representasjonen av Android-applikasjonskode. Navnene smali og baksmali er islandske ord for «montør» (assembler) og «demonter» (disassembler); verktøyene ble laget av Ben Gruver (JesusFreke) i 2010 og vedlikeholdes nå av Google.

Når en Android .apk pakkes ut med apktool eller baksmali, blir hver kompilert klasse inne i .dex-filen trukket ut som en separat .smali-fil. Syntaksen deklarerer klasse-metadata med .class, .super og .implements-direktiver; felt med .field; og metoder inne i .method....end method-blokker. Individuelle Dalvik-opkoder (invoke-virtual, move-result, return-void med flere) opererer på navngitte registre (v0, v1, p0, osv.).

.smali-filer brukes primært i Android reverse-engineering, sikkerhetsforskning og CTF (Capture The Flag)-utfordringer. En typisk arbeidsflyt er: pakk ut en APK med apktool d, rediger .smali-kildene for å endre oppførsel, og pakk deretter på nytt med apktool b og signer på nytt. De er et mellomliggende deassemblerings-artefakt - vanlige Android-brukere ser aldri rå .smali-filer.

Hver .smali-fil tilsvarer nøyaktig én klasse, inkludert anonyme indre klasser (som vises som separate filer). Tilgjengelige opkoder varierer med Android API-nivå, noe som gjenspeiles i .dex-formatversjonen (f.eks. 035 for Android 5, 039 for Android 12+).

Sikkerhet og trygghet

RISIKO: MEDIUM

.smali-filer i seg selv er ren tekst og kan ikke skade systemet ditt når de vises i et redigeringsprogram. Risikoen er kontekstuell: 1. Hvis du deassemblerte en mistenkelig APK, vil .smali-filene avsløre dens oppførsel - se etter obfuskert tekst, dynamisk kodelasting (DexClassLoader) og nettverkskall til mistenkelige verter. 2. Patching av APK-er og resignering for distribusjon kan bryte med appens brukervilkår og i noen jurisdiksjoner opphavsrettsloven. Personlig bruk er generelt akseptert; videresending er ikke det. 3. Nedlasting av .smali-«patcher» fra ukjente kilder - behandle disse som kjørbar kode; gå gjennom dem før de tas i bruk.

Formatdetaljer

i et nøtteskall
FULLT NAVNAndroid Smali Assembly Source Fileogså kjent som Smali file, Dalvik assembly
UTVIKLERBen Gruver (JesusFreke) - original author; now maintained by Google (baksmali/smali v3)siden 2010 (baksmali 1.0 by Ben Gruver/JesusFreke)
MIME-TYPEtext/plain
TYPEkildekode for assembly i ren tekst (Dalvik/ART bytecode-representasjon)

Programmer som åpner SMALI-filer

Windows3 apps
NotePad++ text editor Åpen kildekode Fil > Åpne - velg .smali-fil. Syntaksutheving via brukerdefinert språk for smali er tilgjengelig i NP++-fellesskapet.
Visual Studio Code Åpen kildekode Åpne .smali-filen direkte; installer «smali»-utvidelsen fra VS Code Marketplace for syntaksutheving.
apktool Åpen kildekode apktool d app.apk - produserer en mappe med .smali-filer. apktool b folder/ - setter dem sammen til en APK igjen.
macOS3 apps
TextEdit Innebygd Åpne .smali-filen i TextEdit (ren tekst-modus - Format > Gjør om til ren tekst).
Visual Studio Code Åpen kildekode Åpne .smali-filen direkte; installer «smali»-utvidelsen fra VS Code Marketplace for syntaksutheving.
apktool Åpen kildekode apktool d app.apk - produserer en mappe med .smali-filer. apktool b folder/ - setter dem sammen til en APK igjen.
Linux3 apps
gedit Åpen kildekode Åpne .smali-filen i gedit for visning og redigering.
apktool Åpen kildekode apktool d app.apk - produserer en mappe med .smali-filer. apktool b folder/ - setter dem sammen til en APK igjen.
Vim / Vi Åpen kildekode vim file.smali - fellesskapsutviklet smali-syntaks-plugin er tilgjengelig.
Android1 app
Not applicable Gratis Smali-filer er utviklings- og reverse-engineering-artefakter; de åpnes ikke på Android-enheter.

Tekniske detaljer

dyp spesifikasjon
UtviklerBen Gruver (JesusFreke), opprinnelig forfatter; vedlikeholdes nå av Google (baksmali/smali v3+)
FiltypeRen tekst, menneskelig lesbar Dalvik/ART bytecode assembly
KodingUTF-8
Navne-etymologismali og baksmali er islandsk for montør og demonter
Én fil per klasseHver `.smali`-fil tilsvarer nøyaktig én Java- eller Kotlin-klasse, inkludert anonyme indre klasser
Kompilert ekvivalent`.dex` (Dalvik Executable) - `.smali` er den deassemblerte menneskelig lesbare representasjonen
Typisk størrelse1 KB - 200 KB per fil; komplekse Android-apper produserer tusenvis av `.smali`-filer
RegistersyntaksLokale registre: `v0`, `v1`, ...; parameterregistre: `p0`, `p1`, ... (`p0` er `this` i instansmetoder)
Opkode-versjoneringKnyttet til `.dex`-formatversjon: 035 (Android 5-6), 037 (Android 7), 038 (Android 8-11), 039 (Android 12+)
Standard arbeidsflytAPK → `baksmali` deassemblering → rediger `.smali` → `smali` assemblering → ompakket APK (krever ny signering)
Verktøyintegrasjon`apktool` bruker `smali`/`baksmali` internt for deassemblering og assemblering av APK-er
Primære bruksområderAndroid reverse-engineering, app-patching, sikkerhetsforskning, CTF-utfordringer
Utgitt2010 (baksmali 1.0 by Ben Gruver/JesusFreke)
Siste versjonsmali/baksmali 3.x (Google-maintained as of 2024)
Spesifikasjongithub.com

SMALI-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med SMALI-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om SMALI-filer.

Ofte stilte spørsmål

Hvordan får jeg .smali-filer fra en APK?
Bruk apktool: kjør «apktool d yourapp.apk» i en terminal. Det oppretter en mappe med .smali-filer for hver klasse. Alternativt kan du bruke baksmali direkte på classes.dex inne i APK-filen.
Hvordan gjør jeg .smali-filer om til en APK igjen?
Bruk apktool: kjør «apktool b mappenavn/» for å bygge opp APK-filen på nytt, og signer den deretter med apksigner eller jarsigner.
Kan jeg dekompilere .smali til Java?
Indirekte - bruk jadx direkte på APK-filen for å få Java-kildekode. jadx er bedre enn å gå veien om smali→Java manuelt.
Hva betyr Dalvik-registersyntaksen (v0, p0)?
Registre er smali-ekvivalenten til lokale variabler. «v»-registre er generelle lokale variabler; «p»-registre er metodeparametere (p0 = «this» i instansmetoder).
Er .smali-filer trygge å åpne?
Ja - de er rene tekstfiler. De kan ikke kjøres når de vises i et tekstredigeringsprogram.
Er det lovlig å dekompilere APK-er til smali?
Lovligheten varierer etter jurisdiksjon og bruksområde. Reverse-engineering for interoperabilitet, sikkerhetsforskning og personlig bruk er generelt tillatt; videresending av modifiserte APK-er kan bryte med opphavsrett eller brukervilkår.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.EXEWindows Executable (Portable Executable)
10.PRDXSoftMaker Presentations Document

Relaterte filendelser

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

Gratis filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å