.SMALI

SMALI Datei

Android Smali Assembly Source File
Frage stellen
SCHNELLE ANTWORT

Eine .smali-Datei ist Android Dalvik Assembly-Quellcode, der erzeugt wird, wenn eine APK mit apktool oder baksmali disassembliert wird. Es handelt sich um ein Artefakt aus dem Reverse-Engineering - nichts, dem normale Benutzer begegnen. Öffnen Sie sie in einem beliebigen Texteditor oder Visual Studio Code. Wenn Sie einen Ordner mit .smali-Dateien haben und daraus wieder eine APK erstellen möchten, verwenden Sie apktool, um sie neu zu assemblieren.

Entwickler: Ben Gruver (JesusFreke) - original author; now maintained by Google (baksmali/smali v3) Kategorie: Developerdateien MIME: text/plain
VERFÜGBAR AUF Windows macOS Linux Android
Verwandt: .DO · .MD · .HEX · .XSD

Auf dieser Seite

19k+ Erweiterungen indexiert
Zuletzt geprüft Aug 12, 2026

Nicht sicher, was Ihre Datei ist?

Legen Sie eine beliebige Datei in unseren Identifikator - wir lesen nur die ersten Bytes, um das Format zu benennen.

Datei identifizieren

Was ist das SMALI-Dateiformat?

.smali-Dateien enthalten menschenlesbaren Dalvik- oder ART-Bytecode - die Assembly-Sprachdarstellung von Android-Anwendungscode. Die Namen smali und baksmali sind isländische Wörter für Assembler und Disassembler; die Tools wurden 2010 von Ben Gruver (JesusFreke) erstellt und werden heute von Google gepflegt.

Wenn eine Android .apk mit apktool oder baksmali entpackt wird, wird jede kompilierte Klasse innerhalb der .dex-Datei als separate .smali-Datei extrahiert. Die Syntax deklariert Klassen-Metadaten mit den Direktiven .class, .super und .implements; Felder mit .field; und Methoden innerhalb von .method....end method-Blöcken. Einzelne Dalvik-Opcodes (invoke-virtual, move-result, return-void und andere) operieren auf benannten Registern (v0, v1, p0 usw.).

.smali-Dateien werden primär im Android Reverse-Engineering, in der Sicherheitsforschung und bei CTF-Herausforderungen (Capture The Flag) verwendet. Ein typischer Workflow ist: eine APK mit apktool d entpacken, die .smali-Quellen bearbeiten, um das Verhalten zu patchen, und dann mit apktool b neu paketieren und signieren. Sie sind ein Zwischenprodukt der Disassemblierung - normale Android-Nutzer kommen nie mit rohen .smali-Dateien in Kontakt.

Jede .smali-Datei entspricht genau einer Klasse, einschließlich anonymer innerer Klassen (die als separate Dateien erscheinen). Die verfügbaren Opcodes variieren je nach Android-API-Level, was sich in der .dex-Formatversion widerspiegelt (z. B. 035 für Android 5, 039 für Android 12+).

Sicherheit

RISIKO: MEDIUM

.smali-Dateien selbst sind reiner Text und können Ihrem System nicht schaden, wenn sie in einem Editor betrachtet werden. Das Risiko ist kontextabhängig: 1. Wenn Sie eine verdächtige APK disassembliert haben, offenbaren die .smali-Dateien deren Verhalten - suchen Sie nach verschleierten Strings, dynamischem Laden von Code (DexClassLoader) und Netzwerkaufrufen zu verdächtigen Hosts. 2. Das Patchen von APKs und deren Neusignierung zur Weitergabe kann gegen die Nutzungsbedingungen der App und in einigen Gerichtsbarkeiten gegen das Urheberrecht verstoßen. Der persönliche Gebrauch wird im Allgemeinen akzeptiert; die Weitergabe nicht. 3. Beim Herunterladen von .smali-„Patches” aus unbekannten Quellen - behandeln Sie diese wie ausführbaren Code; prüfen Sie sie vor der Anwendung.

Formatdetails

kurz gefasst
VOLLSTÄNDIGER NAMEAndroid Smali Assembly Source Filealias Smali file, Dalvik assembly
ENTWICKLERBen Gruver (JesusFreke) - original author; now maintained by Google (baksmali/smali v3)seit 2010 (baksmali 1.0 by Ben Gruver/JesusFreke)
MIME TYPEtext/plain
TYPKlartext-Assembly-Quellcode (Dalvik/ART-Bytecode-Darstellung)

Programme zum Öffnen von SMALI-Dateien

Windows3 apps
NotePad++ text editor Open Source Datei > Öffnen - .smali-Datei auswählen. Syntax-Hervorhebung über eine benutzerdefinierte Sprache für smali ist in der NP++ Community verfügbar.
Visual Studio Code Open Source Öffnen Sie die .smali-Datei direkt; installieren Sie die „smali”-Erweiterung aus dem VS Code Marketplace für Syntax-Hervorhebung.
apktool Open Source apktool d app.apk - erzeugt einen Ordner mit .smali-Dateien. apktool b ordner/ - setzt diese wieder zu einer APK zusammen.
macOS3 apps
TextEdit Integriert Öffnen Sie die .smali-Datei in TextEdit (Reiner-Text-Modus - Format > In reinen Text umwandeln).
Visual Studio Code Open Source Öffnen Sie die .smali-Datei direkt; installieren Sie die „smali”-Erweiterung aus dem VS Code Marketplace für Syntax-Hervorhebung.
apktool Open Source apktool d app.apk - erzeugt einen Ordner mit .smali-Dateien. apktool b ordner/ - setzt diese wieder zu einer APK zusammen.
Linux3 apps
gedit Open Source Öffnen Sie die .smali-Datei in gedit zum Anzeigen und Bearbeiten.
apktool Open Source apktool d app.apk - erzeugt einen Ordner mit .smali-Dateien. apktool b ordner/ - setzt diese wieder zu einer APK zusammen.
Vim / Vi Open Source vim file.smali - Community-Plugin für smali-Syntax verfügbar.
Android1 app
Not applicable Kostenlos Smali-Dateien sind Artefakte der Entwicklung/des Reverse-Engineerings; sie werden nicht auf Android-Geräten geöffnet.

Technische Details

technische Spezifikation
EntwicklerBen Gruver (JesusFreke), ursprünglicher Autor; jetzt von Google gepflegt (baksmali/smali v3+)
DateitypKlartext, menschenlesbare Dalvik/ART-Bytecode-Assembly
KodierungUTF-8
Namensherkunftsmali und baksmali sind isländisch für Assembler und Disassembler
Eine Datei pro KlasseJede `.smali`-Datei ist genau einer Java- oder Kotlin-Klasse zugeordnet, einschließlich anonymer innerer Klassen
Kompiliertes Äquivalent`.dex` (Dalvik Executable) - `.smali` ist die disassemblierte, menschenlesbare Darstellung
Typische Größe1 KB - 200 KB pro Datei; komplexe Android-Apps erzeugen Tausende von `.smali`-Dateien
RegistersyntaxLokale Register: `v0`, `v1`, ...; Parameter-Register: `p0`, `p1`, ... (`p0` ist `this` in Instanzmethoden)
Opcode-VersionierungGekoppelt an die `.dex`-Formatversion: 035 (Android 5-6), 037 (Android 7), 038 (Android 8-11), 039 (Android 12+)
Standard-WorkflowAPK → `baksmali` disassemblieren → `.smali` bearbeiten → `smali` assemblieren → neu paketierte APK (Neusignierung erforderlich)
Tool-Integration`apktool` verwendet intern `smali`/`baksmali` für die APK-Disassemblierung und -Reassemblierung
Primäre AnwendungsfälleAndroid Reverse-Engineering, App-Patching, Sicherheitslückenforschung, CTF-Herausforderungen
Veröffentlicht2010 (baksmali 1.0 by Ben Gruver/JesusFreke)
Neueste Versionsmali/baksmali 3.x (Google-maintained as of 2024)
Spezifikationgithub.com

SMALI-Konvertierungen

Community Q&A

von Nutzern gefragt
Schnelle Frage stellen
Holen Sie sich Hilfe von Menschen, die mit SMALI-Dateien arbeiten. Seien Sie konkret - geben Sie Ihr System und die Softwareversion an.
Kein Konto erforderlich · Antworten meist innerhalb eines Tages

Noch keine Fragen - stellen Sie die erste Frage zu SMALI-Dateien.

Häufig gestellte Fragen

Wie erhalte ich .smali-Dateien aus einer APK?
Verwenden Sie apktool: Führen Sie „apktool d yourapp.apk” in einem Terminal aus. Es erstellt einen Ordner mit .smali-Dateien für jede Klasse. Alternativ können Sie baksmali direkt auf die classes.dex innerhalb der APK anwenden.
Wie wandle ich .smali-Dateien wieder in eine APK um?
Verwenden Sie apktool: Führen Sie „apktool b ordnername/” aus, um die APK neu zu erstellen, und signieren Sie diese anschließend mit apksigner oder jarsigner neu.
Kann ich .smali zu Java dekompilieren?
Indirekt - verwenden Sie jadx direkt auf der APK, um Java-Quellcode zu erhalten. jadx ist besser, als smali manuell nach Java zu überführen.
Was bedeutet die Dalvik-Registersyntax (v0, p0)?
Register sind das smali-Äquivalent zu lokalen Variablen. „v”-Register sind allgemeine lokale Variablen; „p”-Register sind Methodenparameter (p0 = „this” in Instanzmethoden).
Ist es sicher, .smali-Dateien zu öffnen?
Ja - es handelt sich um reine Textdateien. Sie können nicht ausgeführt werden, wenn sie in einem Texteditor betrachtet werden.
Ist es legal, APKs zu smali zu dekompilieren?
Die Legalität variiert je nach Gerichtsbarkeit und Anwendungsfall. Reverse-Engineering für Interoperabilität, Sicherheitsforschung und den persönlichen Gebrauch ist im Allgemeinen erlaubt; die Weitergabe modifizierter APKs kann gegen das Urheberrecht oder die Nutzungsbedingungen verstoßen.

Quellen

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

Weiter entdecken

in der Datenbank

Top-Erweiterungen dieser Woche

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

Verwandte Erweiterungen

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

Kostenlose Datei-Tools

Ein Browser-Dateiidentifikator und Bildkonverter - alles läuft auf Ihrem Gerät.

Toolbox öffnen

Dateierweiterungen A-Z durchsuchen