Advertisement
sniper_nuko

All android priv-app deodex test v2

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