A-I-M
2 |
3 |
4 |
5 |
7 | This script helps in automating compress/decompress i.e modifing of system.new.dat/system.new.dat.br files. 8 |
9 | 10 | 11 | 12 | #### Dependencies : 13 | 14 | * brotli 15 | ``` 16 | Arch : sudo pacman -S brotli 17 | Debian : sudo apt install brotli 18 | ``` 19 | * python 20 | ``` 21 | Arch : sudo pacman -S python 22 | Debian : sudo apt install python 23 | ``` 24 | * img2simg 25 | ``` 26 | Arch : sudo pacman -S aur/simg-tools 27 | Debian : sudo apt install img2simg 28 | ``` 29 | * git clone $this_repo --recursive 30 | * copy of a working ROM 31 | 32 | #### Usage : 33 | 34 | Copy ROM.zip to this dir 35 | ``` 36 | chmod +x start.sh 37 | ./start.sh 38 | ``` 39 | 40 | #### Preview : 41 | 42 |  43 | 44 | #### Credits : 45 | 46 | @xpirt 47 | 48 | * https://forum.xda-developers.com/android/software-hacking/how-to-conver-lollipop-dat-files-to-t2978952 49 | * https://github.com/xpirt/img2sdat 50 | * https://github.com/xpirt/sdat2img 51 | 52 | -------------------------------------------------------------------------------- /preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Creator54/AIM/7d8397cd5bbe5505e5c2203ade24f47eec715eca/preview.png -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dir=system 4 | sys=tmp/system.img 5 | sparse=tmp/system_sparse.img 6 | 7 | clear 8 | 9 | echo "#########################################" 10 | echo " " 11 | echo " Android Image Modifier " 12 | echo " By Creator54 " 13 | echo " " 14 | echo "#########################################" 15 | echo 16 | zip_file="$(ls -a | grep .zip)" 17 | if [[ -e "$zip_file" ]]; then 18 | echo ROM found 19 | mkdir tmp $dir 20 | unzip $zip_file -d tmp | grep Archive 21 | echo zip extracted. 22 | if [[ -e "tmp/system.new.dat.br" ]]; then 23 | brotli -f -d tmp/*.br 24 | fi 25 | file1=tmp/system.transfer.list 26 | file2=tmp/system.new.dat 27 | 28 | if [[ -f "$file1" ]] && [[ -f "$file2" ]]; then 29 | 30 | echo 31 | echo "Decompressing DAT (sparse data) -> EXT4 (raw image)" 32 | echo 33 | 34 | ./sdat2img/sdat2img.py $file1 $file2 $sys | grep Done! 35 | 36 | sudo mount -t ext4 -o loop $sys $dir 37 | echo 38 | echo "Now u can start editing $dir directory." 39 | echo 40 | read -p "Press enter to start repacking..." key 41 | if [ "$key" = '' ]; then 42 | sudo umount $dir 43 | echo " " 44 | echo Image unmounted 45 | img2simg $sys $sparse 46 | echo 47 | echo Converting to sparse_img ... 48 | if [[ -e "tmp/system.new.dat.br" ]]; then 49 | ./img2sdat/img2sdat.py $sparse -o tmp -v 4 | grep Done 50 | echo 51 | echo "System supports brotli compression." 52 | echo 53 | echo " 1 - fastest/least compression" 54 | echo " 6 - default aosp compression" 55 | echo "11 - slowest/max compression" 56 | echo 57 | read -p "Enter compression level(1-11): " l 58 | brotli -f -$l tmp/system.new.dat 59 | echo Brotli compression complete. 60 | else 61 | ./img2sdat/img2sdat.py $sparse -o tmp 62 | fi 63 | fi 64 | fi 65 | echo 66 | echo Finalizing New_$zip_file ... 67 | echo 68 | if [[ -e "tmp/system.new.dat.br" ]]; then 69 | rm tmp/system.new.dat 70 | fi 71 | rm $sys $sparse && cd tmp 72 | zip New_$zip_file -r * 73 | mv New_$zip_file ../ && cd ../ && rm -rf tmp $dir 74 | echo 75 | echo "All Done. Time for testing :)" 76 | echo 77 | else 78 | echo "Copy ROM zip to this dir." 79 | fi 80 | --------------------------------------------------------------------------------