Advertisement
sniper_nuko

All android app deodex test v2

Jun 16th, 2015
369
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.82 KB | None | 0 0
  1. # app deodex処理
  2. app_deodex () {
  3.     clear
  4.     mkdir $WORK
  5.     # Android 5.0.x以上の場合
  6.     if [ $bootver = "64sys" -o $bootver = "32sys" ]; then
  7.         # ファイル数取得
  8.         aodexnum=`find $APP | grep -c ".odex"`
  9.         aapklist=`find $APP | grep ".apk" | sed s/.apk//`
  10.         if [ $aodexnum != "0" ]; then
  11.             aodexlist64=`find $APP/*/arm64 | grep ".odex" | sed s/.odex//`
  12.             aodexlist32=`find $APP/*/arm | grep ".odex" | sed s/.odex//`
  13.             # 64bit system
  14.             if [ $bootver = "64sys" ]; then
  15.                 for aodexfile64 in ${aodexlist64[@]}
  16.                 do
  17.                     if [ ! -e $aodexfile64.odex ]; then
  18.                         :
  19.                     else
  20.                         cp $aodexfile64.odex $WORK/
  21.                         cd $WORK
  22.                         aconvodex64=`find *.odex | sed s/.odex//`
  23.                         # 実行結果非表示
  24.                         $TOOLS/oat2dex $aconvodex64.odex ../raw/boot64 > /dev/null 2>&1
  25.                         if [ -e $aconvodex64-classes2.dex ]; then
  26.                             mv $aconvodex64.dex classes.dex
  27.                             mv $aconvodex64-classes2.dex classes2.dex
  28.                             mv $APP/$aconvodex64/$aconvodex64.apk $aconvodex64.apk
  29.                             7z a -tzip $aconvodex64.apk classes.dex classes2.dex
  30.                             mv $aconvodex64.apk $APP/$aconvodex64/$aconvodex64.apk
  31.                             rm -rf $APP/$aconvodex64/arm*
  32.                             rm -rf $aconvodex64.odex classes.dex classes2.dex
  33.                             clear
  34.                             cd $DEF
  35.                         else
  36.                             mv $aconvodex64.dex classes.dex
  37.                             mv $APP/$aconvodex64/$aconvodex64.apk $aconvodex64.apk
  38.                             7z a -tzip $aconvodex64.apk classes.dex
  39.                             mv $aconvodex64.apk $APP/$aconvodex64/$aconvodex64.apk
  40.                             rm -rf $APP/$aconvodex64/arm*
  41.                             rm -rf $aconvodex64.odex classes.dex
  42.                             clear
  43.                             cd $DEF
  44.                         fi
  45.                     fi
  46.                 done
  47.                 for aodexfile32 in ${aodexlist32[@]}
  48.                 do
  49.                     if [ ! -e $aodexfile32.odex ]; then
  50.                         :
  51.                     else
  52.                         cp $aodexfile32.odex $WORK/
  53.                         cd $WORK
  54.                         aconvodex32=`find *.odex | sed s/.odex//`
  55.                         # 実行結果非表示
  56.                         $TOOLS/oat2dex $aconvodex32.odex ../raw/boot32 > /dev/null 2>&1
  57.                         if [ -e $aconvodex32-classes2.dex ]; then
  58.                             mv $aconvodex32.dex classes.dex
  59.                             mv $aconvodex32-classes2.dex classes2.dex
  60.                             mv $APP/$aconvodex32/$aconvodex32.apk $aconvodex32.apk
  61.                             7z a -tzip $aconvodex32.apk classes.dex classes2.dex
  62.                             mv $aconvodex32.apk $APP/$aconvodex32/$aconvodex32.apk
  63.                             rm -rf $APP/$aconvodex32/arm*
  64.                             rm -rf $aconvodex32.odex classes.dex classes2.dex
  65.                             clear
  66.                             cd $DEF
  67.                         else
  68.                             mv $aconvodex32.dex classes.dex
  69.                             mv $APP/$aconvodex32/$aconvodex32.apk $aconvodex32.apk
  70.                             7z a -tzip $aconvodex32.apk classes.dex
  71.                             mv $aconvodex32.apk $APP/$aconvodex32/$aconvodex32.apk
  72.                             rm -rf $APP/$aconvodex32/arm*
  73.                             rm -rf $aconvodex32.odex classes.dex
  74.                             clear
  75.                             cd $DEF
  76.                         fi
  77.                     fi
  78.                 done
  79.                 echo ""
  80.                 echo "appのdeodex完了"
  81.                 read Wait
  82.             # 32bit system
  83.             elif [ $boorver = "32sys" ]; then
  84.                 for aodexfile32 in ${aodexlist32[@]}
  85.                 do
  86.                     if [ ! -e $aodexfile.odex ]; then
  87.                         :
  88.                     else
  89.                         cp $aodexfile32.odex $WORK/
  90.                         cd $WORK
  91.                         aconvodex32=`find *.odex | sed s/.odex//`
  92.                         # 実行結果非表示
  93.                         $TOOLS/oat2dex $aconvodex32.odex ../raw/boot > /dev/null 2>&1
  94.                         if [ -e $aconvodex32-classes2.dex ]; then
  95.                             mv $aconvodex32.dex classes.dex
  96.                             mv $aconvodex32-classes2.dex classes2.dex
  97.                             mv $APP/$aconvodex32/$aconvodex32.apk $aconvodex32.apk
  98.                             7z a -tzip $aconvodex32.apk classes.dex classes2.dex
  99.                             mv $aconvodex32.apk $APP/$aconvodex32/$aconvodex32.apk
  100.                             rm -rf $APP/$aconvodex32/arm*
  101.                             rm -rf $aconvodex32.odex classes.dex classes2.dex
  102.                             clear
  103.                             cd $DEF
  104.                         else
  105.                             mv $aconvodex32.dex classes.dex
  106.                             mv $APP/$aconvodex32/$aconvodex32.apk $aconvodex32.apk
  107.                             7z a -tzip $aconvodex32.apk classes.dex
  108.                             mv $aconvodex32.apk $APP/$aconvodex32/$aconvodex32.apk
  109.                             rm -rf $APP/$aconvodex32/arm*
  110.                             rm -rf $aconvodex32.odex classes.dex
  111.                             clear
  112.                             cd $DEF
  113.                         fi
  114.                     fi
  115.                 done
  116.                 echo ""
  117.                 echo "appのdeodex完了"
  118.                 read Wait
  119.             fi
  120.         else
  121.             echo ""
  122.             echo "appフォルダにodexファイルは存在しないのでdeodexの必要はありません"
  123.             read Wait
  124.         fi
  125.     # Android 4.4以下
  126.     elif [ $api -le 19 ]; then
  127.         aodex=`find $APP | grep -c ".odex"`
  128.         if [ $aodex != "0" ]; then
  129.             cd $APP
  130.             aodexlist=`find *.odex | sed s/.odex//`
  131.             for aodexfile in ${aodexlist[@]}
  132.             do
  133.                 clear
  134.                 $TOOLS/baksmali -d $FRAMEWORK -x $aodexfile.odex -o $WORK/$aodexfile
  135.                 $TOOLS/smali $WORK/$aodexfile -o $WORK/classes.dex
  136.                 7z a -tzip $aodexfile.apk $WORK/classes.dex
  137.                 rm -rf $WORK/$aodexfile $aodexfile.odex $WORK/classes.dex
  138.             done
  139.             cd $DEF
  140.             echo ""
  141.             echo "appのdeodex完了"
  142.             read Wait
  143.         else
  144.             echo ""
  145.             echo "appフォルダにodexファイルは存在しないのでdeodexの必要はありません"
  146.             read Wait
  147.         fi
  148.     fi
  149.     rm -rf $WORK
  150.     menu
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement