Advertisement
Guest User

deodexall.bat

a guest
Aug 8th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.67 KB | None | 0 0
  1. @echo OFF
  2. setlocal enabledelayedexpansion
  3.  
  4. REM Choix de l'API Android
  5. set API=15
  6.  
  7. REM Configuration des chemins des executables
  8. set unzip_exe=%CD%\unzip
  9. set zip_exe=%CD%\zip
  10. set java_exe=java
  11. set zipalign_exe=%CD%\zipalign
  12. set aapt_exe=%CD%\aapt
  13. set jarsigner_exe="C:\Program Files\Java\jdk1.7.0_75\bin\jarsigner"
  14.  
  15. set baksmali_jar=%CD%\baksmali.jar
  16. set smali_jar=%CD%\smali.jar
  17.  
  18. REM Configuration de jarsigner
  19. set keystore="D:\Dev\android\djeman.keystore"
  20. set keypass=
  21. set keyalias=djeman
  22.  
  23. echo *********** Debut du processus ***********
  24.  
  25. REM Répertoire à deodexer
  26. set path_to_process=app
  27. REM Répertoire temporaire
  28. set tmpout=tmpout
  29.  
  30. REM Récupération du nom de tous les .jar pour configurer le classpath
  31. for %%i IN (framework\*.jar) do (
  32.     set classpath=!classpath!:%%~nxi
  33. )
  34.  
  35. if exist !tmpout! rd /s /q !tmpout!
  36.  
  37. REM Boucle deodexant chaque repertoire à déodexer
  38. for %%k in (!path_to_process!) do (
  39.     echo *-* Repertoire %%k
  40.  
  41.     set indir=%%k
  42.     set outdir=%%k_new
  43.    
  44.     mkdir !outdir!
  45.    
  46.     REM Boucle deodexant chaque fichier odex du repertoire à déodexer
  47.     for %%i IN (!indir!\*.odex) do (
  48.         REM Création d'un repertoire temporaire
  49.         mkdir !tmpout!
  50.        
  51.         echo.
  52.         echo * Fichier %%~nxi
  53.        
  54.         REM Copie du jar ou de l'apk
  55.         if exist !indir!\%%~ni.jar (
  56.             copy !indir!\%%~ni.jar !tmpout!\%%~ni.jar
  57.         ) else (
  58.             copy !indir!\%%~ni.apk !tmpout!\%%~ni.apk
  59.             REM Suppression de la signature dans les apk
  60.             call !zip_exe! -d !tmpout!\%%~ni.apk META-INF/*
  61.         )
  62.         echo * %%~nxi copied
  63.        
  64.         REM Déssassemblage du odex
  65.         call !java_exe! -Xmx512m -jar !baksmali_jar! -a !API! -d framework -c !classpath! -x %%i -o !tmpout!\%%~ni
  66.         echo * %%~nxi deodexed
  67.        
  68.         REM Réassemblage en dex
  69.         call !java_exe! -Xmx512m -jar !smali_jar! -a !API! !tmpout!\%%~ni -o !tmpout!\classes.dex
  70.         echo * %%~nxi dexed
  71.        
  72.         REM Ajout du dex dans le package avec aapt
  73.         cd !tmpout!
  74.         if exist ..\!indir!\%%~ni.jar (
  75.             call !aapt_exe! add %%~ni.jar classes.dex
  76.         ) else (
  77.             call !aapt_exe! add %%~ni.apk classes.dex
  78.         )
  79.         cd ..
  80.         echo * %%~nxi dex added in main package
  81.        
  82.         REM Signature des apks et alignement des zips
  83.         if exist !indir!\%%~ni.jar (
  84.             call !zipalign_exe! 4 !tmpout!\%%~ni.jar !outdir!\%%~ni.jar
  85.         ) else (
  86.             REM Avant d'aligner les apks on les resigne
  87.             call !jarsigner_exe! -sigalg SHA1withRSA -digestalg SHA1 -keystore !keystore! -storepass !keypass! !tmpout!\%%~ni.apk !keyalias!
  88.             call !zipalign_exe! 4 !tmpout!\%%~ni.apk !outdir!\%%~ni.apk
  89.         )
  90.         echo * %%~nxi signed/aligned
  91.        
  92.         REM Suppression du repertoire temporaire
  93.         rd /s /q !tmpout!
  94.     )
  95.    
  96.     echo *-* Fin du Repertoire %%k
  97. )
  98.  
  99. echo *********** Fin du processus ***********
  100.  
  101. pause
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement