Tutoriel [Tuto] Décompiler un fichier".dex" sous Windows.

  • Auteur de la discussion Stephane24
  • Date de début
S

Stephane24

Membre VIP
Inscrit
20 Août 2011
Messages
4 232
Points
0
  • #1
Salut à tous voici un petit tuto qui va vous permettre de décompiler un fichier ".dex" afin d'y apporter des modifs, tout ça sur votre pc et sous Windows (Windows 7 64bit chez moi)...

Pré-requis:
-Le logiciel "7zip" à télécharger gratuitement sur le net (Google est ton ami).
-"Baksmali-1.2.8.jar" et "smali-1.2.8.jar" à télécharger ici:
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
.
-Un fichier ".dex" évidement ( dans les .apk...)!!!

PROCÉDURE:

1.) Commencez par installer "7zip" sur votre pc.
2.) Choisir le ".apk" qui vous intéresse et utilisez "7zip pour décompresser le fichier.
3.) Une fois que la première fenêtre de "7zip" s'ouvre cliquez sur le ".dex" pour le choisir et ensuite cliquez sur "extraire" sur votre bureau de tel sorte qu'il n'y ai que le ".dex" d'extrait, le laisser sur votre bureau pour le moment et surtout laissez la fenetre de "7zip" ouverte sur votre bureau.
4.) Télécharger "Baksmali-1.2.8.jar" et "smali-1.2.8.jar" et les mettre tous les deux simplement dans le dossier utilisateur de votre pc.
5.) Placez maintenant votre ".dex" extrait précédemment dans le même dossier que "baksmali.jar" et "smali.jar".
6.) Ouvrir un "invite de commandes" et tapez cette commande:

java -jar baksmali-1.2.8.jar classes.dex
Cela va avoir pour effet de créer un dossier "out" dans votre dossier utilisateur et dedans vous trouverez votre ".dex" décompiler.

Vous pouvez maintenant ouvrir le dossier obtenu et pour en éditer les éléments utilisez un éditeur de texte (j'ai utilisé le "Bloc Notes" de windows).
7.) Une fois vos modifs effectuées pour recompiler le ".dex" il suffit de tapez dans "l'invite de commandes" :

java -jar smali-1.2.8.jar out -o new_classes.dex

8.) Vous avez créé un fichier nommé "new_classes.dex", le renommé en "classes.dex et le copier dans la fenêtre de "7zip" que vous avez laissez ouverte.
9.) Fermez "7zip" afin d'enregistrer la modification, voilà c'est fini...
10.) ENJOY :D :D

Merci de bien vouloir laisser un commentaire sur votre expérience afin que cela profite au plus grand nombre... ;) Un petit merci fait aussi toujours plaisir :D
 
A

Anonymous

  • #2
super :) merci
 
Arnice

Arnice

Membre
Inscrit
23 Février 2012
Messages
21
Points
0
  • #3
Merci pour la manip.

Bon par contre, ça ne marche pas chez moi. :?

J'ai essayé les versions de baksmali et smali citées (1.2.8), ainsi que les denières versions (1.3.2)
Sur un windows XP SP3 32bits (avec environnement java, sdk, jdk, eclipse, bref tous les outils).

J'ai suivi le tuto à la lettre et testé sur deux fichiers classes.dex différents.

Belle erreur :

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!
 
S

Steph68

Membre
Inscrit
14 Septembre 2012
Messages
2
Points
0
  • #4
Merci, MAIS j'ai des fichiers .SMALI qui ressemblent à tout, sauf à du code Java........
Donc que faire?

Merci.
 
lord-ralf-adolf

lord-ralf-adolf

Membre VIP
Inscrit
15 Janvier 2012
Messages
1 023
Points
36
  • #5
Steph68 a dit:
Merci, MAIS j'ai des fichiers .SMALI qui ressemblent à tout, sauf à du code Java........
Donc que faire?

c'est pas du java lais c'est du smali et je ne sais rien sur cette méthode et comment ils le modifi
mais ya "jad" "dex2jar" (google ses deux mot) qui va vous servir de recupérer le code source java .
Merci.
 
S

Steph68

Membre
Inscrit
14 Septembre 2012
Messages
2
Points
0
  • #6
déjà essayé l'autre méthode: jad & dex2jar... mais ça ne marche pas. :(
 
lord-ralf-adolf

lord-ralf-adolf

Membre VIP
Inscrit
15 Janvier 2012
Messages
1 023
Points
36
  • #7
si ça marche tu n'auras pas le code à 100% mais tu auras un code plain d'erreur :sad:
 
D

DCSSqual

Membre
Inscrit
6 Mai 2013
Messages
1
Points
0
  • #8
j'ai tout fait correctement et il n'y eut aucun problème mais lorsque je veux installer l'application (qui est Modern Combat 4) sa me met "x Application non installer" ... j'ai rater un truc ? :(
 
C

carlop

Membre
Inscrit
12 Juillet 2013
Messages
1
Points
0
  • #9
Hello,

pour moi, tout cela a, à priori bien fonctionné, mais après modification, pour installer l'apk modifié, je suppose qu'il doit falloir modifier aussi sa signature ? ... après, bien évidemment avoir autorisé l'installation d'apk non-market ?

Sinon y a t-il un risque de remplacement ou d'update automatique de l'apk modifié par l'apk d'origine ou un update de celui-ci ?
 
A

avezmoi

Membre
Inscrit
28 Janvier 2014
Messages
1
Points
0
  • #10
J'ai un problème quand je souhaite décompiller sa me dit que java n'est pas reconnu comme commande interne
pourriez vous m'aidez s'il vous plait
Cordialement
 
Poga

Poga

Membre
Inscrit
14 Août 2013
Messages
543
Points
16
  • #11
Salut,

faut déclarer java dans les variables d'environnement.
Jette un oeil ici
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
:wink:
 
W

Weky

Membre
Inscrit
12 Août 2014
Messages
4
Points
0
  • #12
J'ai un problème.
Quand je tape la commande sur cmd cela me met :
Error: Unable to access jarfile baksmali-1.2.8.jar
Pourquoi ???
Aidez-moi !!!
 
lolo2134

lolo2134

Membre
Inscrit
24 Octobre 2014
Messages
4
Points
0
  • #13
Re: Re : [Tuto] Décompiler un fichier".dex" sous Windows.

Le mieux, c'est de chercher sur internet ton problème ou sur YouTube;;)
 
Poga

Poga

Membre
Inscrit
14 Août 2013
Messages
543
Points
16
  • #14
Salut,

tu as téléchargé quelle version des "smali" et "baksmali" ?
Si tu as pris la 2.0.3, il faut évidemment changer la commande cmd (remplacé 1.2.8 par 2.0.3... )
 
K

Krixx

Membre
Inscrit
19 Avril 2012
Messages
18
Points
0
  • #15
Bonjour,
j'ai fait toute les manipulation indiquées mais j'ai ce message d'erreur qui s'affiche:
Error : Unable to access jarfile baksmali-2.0.3.jar
Si quelqu'un aurait la solution ce serait très sympas :smile: .
ps: mes trois fichiers :"baksmali,smali et classes.dex" sont dans le dossier "C:\Users\"
 
M

m1cka3l014

Membre
Inscrit
9 Janvier 2014
Messages
1
Points
1
  • #16
Bonjour, Weky ton problème est que le chemin d'accès n'est pas bon, je m'explique :
Pour lancer la décompilation à l'aide de l'invité de commande il faut que tu sois dans le bon répertoire ou se trouve ton fichier "classes.dex" et l'application de décompilation.
Pour cela, tu tapes la commande "cd" avec le chemin d'accès qui convient, pour faciliter la chose, j'ai mis le fichier directement à la racine : cd C:\modif_apk\lbc
une fois que t'es dans le bon répertoire tu tapes ta commande : java -jar baksmali-2.0.3.jar classes.dex
et la normalement cela devrait fonctionner :frime1:
J'espère t'avoir aidé et que cela aidera d'autres personnes :wink:
Bonne continuation
 
K

kardu80

Membre
Inscrit
8 Février 2015
Messages
27
Points
1
  • #17
Bonjour, je n'ai pas trop compris ou placer les fichiers baksmali et smali quelq'un pourrait me donner plus de précision svp ?
 
F

Fighter777

Membre
Inscrit
28 Janvier 2016
Messages
2
Points
0
  • #18
lien mort :)
 
M

Membre supprimé 438334

  • #19
Re: [Tuto] Décompiler un fichier".dex" sous Windows.

Fighter777 a dit:
Bonjour

La politesse aussi apparemment ?!
 

Sujets en relation

Haut Bas