Last active
December 17, 2020 03:03
-
-
Save venuatu/7429378 to your computer and use it in GitHub Desktop.
A script to transform set_metadata into set_perm (for recoveries that don't support the former)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
## Transform set_metadata into set_perm (for recoveries that don't support the former) | |
# Usage: metadata_to_perm.py file | |
import sys, re | |
try: | |
file = open(sys.argv[1]) | |
except: | |
print('unable to open file') | |
exit(1) | |
buffer = '' | |
for line in file: | |
if (line.startswith('set_metadata')): | |
recursive = line.startswith('set_metadata_recursive') | |
found = [x.strip() for x in re.search('\\((.+)\\)', line).group(1).split(',')] | |
name = found.pop(0) | |
keys = {} | |
for i in range(len(found)): | |
if i % 2 == 0: | |
keys[found[i]] = found[i +1] | |
out = 'set_perm' + ('_recursive' if recursive else '') + '(' | |
if recursive: | |
for prop in ['"uid"', '"gid"', '"dmode"', '"fmode"']: | |
out += keys[prop] + ', ' | |
else: | |
for prop in ['"uid"', '"gid"', '"mode"']: | |
out += keys[prop] + ', ' | |
out += name + ')' | |
buffer += out + '\n' | |
else: | |
buffer += line | |
file.close() | |
file = open(sys.argv[1], 'w') | |
file.write(buffer) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
assert(getprop("ro.product.device") == "C5302" || getprop("ro.build.product") == "C5302" || | |
getprop("ro.product.device") == "C5303" || getprop("ro.build.product") == "C5303" || | |
getprop("ro.product.device") == "C5306" || getprop("ro.build.product") == "C5306" || | |
getprop("ro.product.device") == "huashan" || getprop("ro.build.product") == "huashan" || abort("This package is for \"C5302,C5303,C5306,huashan\" devices; this is a \"" + getprop("ro.product.device") + "\".");); | |
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system"); | |
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh"); | |
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions"); | |
set_perm(0, 0, 0777, "/tmp/backuptool.sh"); | |
set_perm(0, 0, 0644, "/tmp/backuptool.functions"); | |
run_program("/tmp/backuptool.sh", "backup"); | |
unmount("/system"); | |
show_progress(0.500000, 0); | |
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "0", "/system"); | |
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system"); | |
package_extract_dir("system", "/system"); | |
symlink("../xbin/su", "/system/bin/su"); | |
symlink("/data/misc/audio/mbhc.bin", "/system/etc/firmware/wcd9310/wcd9310_mbhc.bin"); | |
symlink("/data/misc/audio/wcd9310_anc.bin", "/system/etc/firmware/wcd9310/wcd9310_anc.bin"); | |
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf"); | |
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf"); | |
symlink("busybox", "/system/xbin/[", "/system/xbin/[[", | |
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash", | |
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename", | |
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev", | |
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat", | |
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat", | |
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp", | |
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot", | |
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm", | |
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond", | |
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date", | |
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod", | |
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff", | |
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd", | |
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo", | |
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env", | |
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false", | |
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep", | |
"/system/xbin/find", "/system/xbin/flash_lock", | |
"/system/xbin/flash_unlock", "/system/xbin/flashcp", | |
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free", | |
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync", | |
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser", | |
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups", | |
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt", | |
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id", | |
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod", | |
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat", | |
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall", | |
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln", | |
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr", | |
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat", | |
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat", | |
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg", | |
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo", | |
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat", | |
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp", | |
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more", | |
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat", | |
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite", | |
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice", | |
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd", | |
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep", | |
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress", | |
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff", | |
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps", | |
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx", | |
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath", | |
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize", | |
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir", | |
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts", | |
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq", | |
"/system/xbin/setconsole", "/system/xbin/setserial", | |
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum", | |
"/system/xbin/sha256sum", "/system/xbin/sha3sum", | |
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort", | |
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings", | |
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff", | |
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl", | |
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar", | |
"/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet", | |
"/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp", | |
"/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout", | |
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr", | |
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize", | |
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname", | |
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq", | |
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop", | |
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime", | |
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode", | |
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc", | |
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami", | |
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat", | |
"/system/xbin/yes", | |
"/system/xbin/zcat"); | |
symlink("libGLESv2.so", "/system/lib/libGLESv3.so"); | |
symlink("logcat", "/system/bin/lolcat"); | |
symlink("mksh", "/system/bin/sh"); | |
symlink("mount.exfat", "/system/bin/fsck.exfat", | |
"/system/bin/mkfs.exfat"); | |
symlink("pigz", "/system/xbin/unpigz"); | |
symlink("toolbox", "/system/bin/cat", "/system/bin/chcon", | |
"/system/bin/chmod", "/system/bin/chown", "/system/bin/clear", | |
"/system/bin/cmp", "/system/bin/cp", "/system/bin/date", | |
"/system/bin/dd", "/system/bin/df", "/system/bin/dmesg", | |
"/system/bin/du", "/system/bin/getenforce", "/system/bin/getevent", | |
"/system/bin/getprop", "/system/bin/getsebool", "/system/bin/grep", | |
"/system/bin/hd", "/system/bin/id", "/system/bin/ifconfig", | |
"/system/bin/iftop", "/system/bin/insmod", "/system/bin/ioctl", | |
"/system/bin/ionice", "/system/bin/kill", "/system/bin/ln", | |
"/system/bin/load_policy", "/system/bin/log", "/system/bin/ls", | |
"/system/bin/lsmod", "/system/bin/lsof", "/system/bin/md5", | |
"/system/bin/mkdir", "/system/bin/mkswap", "/system/bin/mount", | |
"/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat", | |
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv", | |
"/system/bin/ps", "/system/bin/r", "/system/bin/readlink", | |
"/system/bin/renice", "/system/bin/restart", "/system/bin/restorecon", | |
"/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod", | |
"/system/bin/route", "/system/bin/runcon", "/system/bin/schedtop", | |
"/system/bin/sendevent", "/system/bin/setconsole", | |
"/system/bin/setenforce", "/system/bin/setfattr", "/system/bin/setprop", | |
"/system/bin/setsebool", "/system/bin/sleep", "/system/bin/smd", | |
"/system/bin/start", "/system/bin/stop", "/system/bin/swapoff", | |
"/system/bin/swapon", "/system/bin/sync", "/system/bin/top", | |
"/system/bin/touch", "/system/bin/umount", "/system/bin/uptime", | |
"/system/bin/vmstat", "/system/bin/watchprops", | |
"/system/bin/wipe"); | |
set_perm_recursive(0, 0, 0755, 0644, "/system") | |
set_perm_recursive(0, 0, 0755, 0755, "/system/addon.d") | |
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin") | |
set_perm(0, 2000, 0755, "/system/bin/app_process") | |
set_perm(0, 2000, 0755, "/system/bin/clatd") | |
set_perm(0, 2000, 0755, "/system/bin/debuggerd") | |
set_perm(0, 2000, 0755, "/system/bin/dhcpcd") | |
set_perm(0, 2000, 0755, "/system/bin/dnsmasq") | |
set_perm(0, 2000, 0755, "/system/bin/drmserver") | |
set_perm(0, 2000, 0755, "/system/bin/hci_qcomm_init") | |
set_perm(0, 2000, 0755, "/system/bin/hostapd") | |
set_perm(0, 2000, 0755, "/system/bin/installd") | |
set_perm(0, 2000, 0755, "/system/bin/keystore") | |
set_perm(0, 2000, 0755, "/system/bin/mediaserver") | |
set_perm(0, 2000, 0755, "/system/bin/mksh") | |
set_perm(0, 2000, 0755, "/system/bin/mpdecision") | |
set_perm(0, 2000, 0755, "/system/bin/mtpd") | |
set_perm(0, 3003, 02750, "/system/bin/netcfg") | |
set_perm(0, 2000, 0755, "/system/bin/netd") | |
set_perm(0, 2000, 0755, "/system/bin/netmgrd") | |
set_perm(0, 0, 0755, "/system/bin/ping") | |
set_perm(0, 2000, 0755, "/system/bin/pppd") | |
set_perm(0, 2000, 0755, "/system/bin/qemud") | |
set_perm(0, 2000, 0755, "/system/bin/qmuxd") | |
set_perm(0, 2000, 0755, "/system/bin/qseecomd") | |
set_perm(0, 2000, 0755, "/system/bin/racoon") | |
set_perm(0, 2000, 0755, "/system/bin/rild") | |
set_perm(0, 2000, 0755, "/system/bin/rmt_storage") | |
set_perm(0, 2000, 0750, "/system/bin/run-as") | |
set_perm(0, 2000, 0755, "/system/bin/sdcard") | |
set_perm(0, 2000, 0755, "/system/bin/servicemanager") | |
set_perm(0, 2000, 0755, "/system/bin/surfaceflinger") | |
set_perm(0, 2000, 0755, "/system/bin/thermald") | |
set_perm(0, 2000, 0755, "/system/bin/vold") | |
set_perm(0, 2000, 0755, "/system/bin/wpa_supplicant") | |
set_perm_recursive(0, 0, 0755, 0644, "/system/etc/dhcpcd") | |
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks") | |
set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d") | |
set_perm(0, 0, 0755, "/system/etc/init.d") | |
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh") | |
set_perm(0, 0, 0644, "/system/etc/init.qcom.bt.sh") | |
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp") | |
set_perm(0, 2000, 0755, "/system/vendor") | |
set_perm(0, 2000, 0755, "/system/vendor/camera") | |
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/etc") | |
set_perm(0, 0, 0644, "/system/vendor/etc/audio_effects.conf") | |
set_perm(0, 2000, 0755, "/system/vendor/firmware") | |
set_perm(0, 2000, 0755, "/system/vendor/lib") | |
set_perm(0, 2000, 0755, "/system/vendor/lib/hw") | |
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin") | |
set_perm(0, 0, 06755, "/system/xbin/librank") | |
set_perm(0, 0, 06755, "/system/xbin/procmem") | |
set_perm(0, 0, 06755, "/system/xbin/procrank") | |
set_perm(0, 0, 06755, "/system/xbin/su") | |
set_perm(0, 0, 06755, "/system/xbin/tcpdump") | |
show_progress(0.200000, 0); | |
show_progress(0.200000, 10); | |
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh"); | |
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions"); | |
set_perm(0, 0, 0777, "/tmp/backuptool.sh"); | |
set_perm(0, 0, 0644, "/tmp/backuptool.functions"); | |
run_program("/tmp/backuptool.sh", "restore"); | |
delete("/system/bin/backuptool.sh"); | |
delete("/system/bin/backuptool.functions"); | |
show_progress(0.200000, 10); | |
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/Kernel"); | |
show_progress(0.100000, 0); | |
unmount("/system"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
assert(getprop("ro.product.device") == "C5302" || getprop("ro.build.product") == "C5302" || | |
getprop("ro.product.device") == "C5303" || getprop("ro.build.product") == "C5303" || | |
getprop("ro.product.device") == "C5306" || getprop("ro.build.product") == "C5306" || | |
getprop("ro.product.device") == "huashan" || getprop("ro.build.product") == "huashan" || abort("This package is for \"C5302,C5303,C5306,huashan\" devices; this is a \"" + getprop("ro.product.device") + "\".");); | |
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system"); | |
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh"); | |
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions"); | |
set_perm(0, 0, 0777, "/tmp/backuptool.sh"); | |
set_perm(0, 0, 0644, "/tmp/backuptool.functions"); | |
run_program("/tmp/backuptool.sh", "backup"); | |
unmount("/system"); | |
show_progress(0.500000, 0); | |
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "0", "/system"); | |
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/System", "/system"); | |
package_extract_dir("system", "/system"); | |
symlink("../xbin/su", "/system/bin/su"); | |
symlink("/data/misc/audio/mbhc.bin", "/system/etc/firmware/wcd9310/wcd9310_mbhc.bin"); | |
symlink("/data/misc/audio/wcd9310_anc.bin", "/system/etc/firmware/wcd9310/wcd9310_anc.bin"); | |
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf"); | |
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf"); | |
symlink("busybox", "/system/xbin/[", "/system/xbin/[[", | |
"/system/xbin/adjtimex", "/system/xbin/arp", "/system/xbin/ash", | |
"/system/xbin/awk", "/system/xbin/base64", "/system/xbin/basename", | |
"/system/xbin/bbconfig", "/system/xbin/blkid", "/system/xbin/blockdev", | |
"/system/xbin/brctl", "/system/xbin/bunzip2", "/system/xbin/bzcat", | |
"/system/xbin/bzip2", "/system/xbin/cal", "/system/xbin/cat", | |
"/system/xbin/catv", "/system/xbin/chattr", "/system/xbin/chgrp", | |
"/system/xbin/chmod", "/system/xbin/chown", "/system/xbin/chroot", | |
"/system/xbin/clear", "/system/xbin/cmp", "/system/xbin/comm", | |
"/system/xbin/cp", "/system/xbin/cpio", "/system/xbin/crond", | |
"/system/xbin/crontab", "/system/xbin/cut", "/system/xbin/date", | |
"/system/xbin/dc", "/system/xbin/dd", "/system/xbin/depmod", | |
"/system/xbin/devmem", "/system/xbin/df", "/system/xbin/diff", | |
"/system/xbin/dirname", "/system/xbin/dmesg", "/system/xbin/dnsd", | |
"/system/xbin/dos2unix", "/system/xbin/du", "/system/xbin/echo", | |
"/system/xbin/ed", "/system/xbin/egrep", "/system/xbin/env", | |
"/system/xbin/expand", "/system/xbin/expr", "/system/xbin/false", | |
"/system/xbin/fbsplash", "/system/xbin/fdisk", "/system/xbin/fgrep", | |
"/system/xbin/find", "/system/xbin/flash_lock", | |
"/system/xbin/flash_unlock", "/system/xbin/flashcp", | |
"/system/xbin/flock", "/system/xbin/fold", "/system/xbin/free", | |
"/system/xbin/freeramdisk", "/system/xbin/fstrim", "/system/xbin/fsync", | |
"/system/xbin/ftpget", "/system/xbin/ftpput", "/system/xbin/fuser", | |
"/system/xbin/getopt", "/system/xbin/grep", "/system/xbin/groups", | |
"/system/xbin/gunzip", "/system/xbin/gzip", "/system/xbin/halt", | |
"/system/xbin/head", "/system/xbin/hexdump", "/system/xbin/id", | |
"/system/xbin/ifconfig", "/system/xbin/inetd", "/system/xbin/insmod", | |
"/system/xbin/install", "/system/xbin/ionice", "/system/xbin/iostat", | |
"/system/xbin/ip", "/system/xbin/kill", "/system/xbin/killall", | |
"/system/xbin/killall5", "/system/xbin/less", "/system/xbin/ln", | |
"/system/xbin/losetup", "/system/xbin/ls", "/system/xbin/lsattr", | |
"/system/xbin/lsmod", "/system/xbin/lsusb", "/system/xbin/lzcat", | |
"/system/xbin/lzma", "/system/xbin/lzop", "/system/xbin/lzopcat", | |
"/system/xbin/man", "/system/xbin/md5sum", "/system/xbin/mesg", | |
"/system/xbin/mkdir", "/system/xbin/mke2fs", "/system/xbin/mkfifo", | |
"/system/xbin/mkfs.ext2", "/system/xbin/mkfs.vfat", | |
"/system/xbin/mknod", "/system/xbin/mkswap", "/system/xbin/mktemp", | |
"/system/xbin/modinfo", "/system/xbin/modprobe", "/system/xbin/more", | |
"/system/xbin/mount", "/system/xbin/mountpoint", "/system/xbin/mpstat", | |
"/system/xbin/mv", "/system/xbin/nanddump", "/system/xbin/nandwrite", | |
"/system/xbin/nbd-client", "/system/xbin/netstat", "/system/xbin/nice", | |
"/system/xbin/nohup", "/system/xbin/nslookup", "/system/xbin/ntpd", | |
"/system/xbin/od", "/system/xbin/patch", "/system/xbin/pgrep", | |
"/system/xbin/pidof", "/system/xbin/ping", "/system/xbin/pipe_progress", | |
"/system/xbin/pkill", "/system/xbin/pmap", "/system/xbin/poweroff", | |
"/system/xbin/printenv", "/system/xbin/printf", "/system/xbin/ps", | |
"/system/xbin/pstree", "/system/xbin/pwd", "/system/xbin/pwdx", | |
"/system/xbin/rdev", "/system/xbin/readlink", "/system/xbin/realpath", | |
"/system/xbin/renice", "/system/xbin/reset", "/system/xbin/resize", | |
"/system/xbin/rev", "/system/xbin/rm", "/system/xbin/rmdir", | |
"/system/xbin/rmmod", "/system/xbin/route", "/system/xbin/run-parts", | |
"/system/xbin/rx", "/system/xbin/sed", "/system/xbin/seq", | |
"/system/xbin/setconsole", "/system/xbin/setserial", | |
"/system/xbin/setsid", "/system/xbin/sh", "/system/xbin/sha1sum", | |
"/system/xbin/sha256sum", "/system/xbin/sha3sum", | |
"/system/xbin/sha512sum", "/system/xbin/sleep", "/system/xbin/sort", | |
"/system/xbin/split", "/system/xbin/stat", "/system/xbin/strings", | |
"/system/xbin/stty", "/system/xbin/sum", "/system/xbin/swapoff", | |
"/system/xbin/swapon", "/system/xbin/sync", "/system/xbin/sysctl", | |
"/system/xbin/tac", "/system/xbin/tail", "/system/xbin/tar", | |
"/system/xbin/taskset", "/system/xbin/tee", "/system/xbin/telnet", | |
"/system/xbin/telnetd", "/system/xbin/test", "/system/xbin/tftp", | |
"/system/xbin/tftpd", "/system/xbin/time", "/system/xbin/timeout", | |
"/system/xbin/top", "/system/xbin/touch", "/system/xbin/tr", | |
"/system/xbin/traceroute", "/system/xbin/true", "/system/xbin/ttysize", | |
"/system/xbin/tune2fs", "/system/xbin/umount", "/system/xbin/uname", | |
"/system/xbin/uncompress", "/system/xbin/unexpand", "/system/xbin/uniq", | |
"/system/xbin/unix2dos", "/system/xbin/unlzma", "/system/xbin/unlzop", | |
"/system/xbin/unxz", "/system/xbin/unzip", "/system/xbin/uptime", | |
"/system/xbin/usleep", "/system/xbin/uudecode", "/system/xbin/uuencode", | |
"/system/xbin/vi", "/system/xbin/watch", "/system/xbin/wc", | |
"/system/xbin/wget", "/system/xbin/which", "/system/xbin/whoami", | |
"/system/xbin/xargs", "/system/xbin/xz", "/system/xbin/xzcat", | |
"/system/xbin/yes", | |
"/system/xbin/zcat"); | |
symlink("libGLESv2.so", "/system/lib/libGLESv3.so"); | |
symlink("logcat", "/system/bin/lolcat"); | |
symlink("mksh", "/system/bin/sh"); | |
symlink("mount.exfat", "/system/bin/fsck.exfat", | |
"/system/bin/mkfs.exfat"); | |
symlink("pigz", "/system/xbin/unpigz"); | |
symlink("toolbox", "/system/bin/cat", "/system/bin/chcon", | |
"/system/bin/chmod", "/system/bin/chown", "/system/bin/clear", | |
"/system/bin/cmp", "/system/bin/cp", "/system/bin/date", | |
"/system/bin/dd", "/system/bin/df", "/system/bin/dmesg", | |
"/system/bin/du", "/system/bin/getenforce", "/system/bin/getevent", | |
"/system/bin/getprop", "/system/bin/getsebool", "/system/bin/grep", | |
"/system/bin/hd", "/system/bin/id", "/system/bin/ifconfig", | |
"/system/bin/iftop", "/system/bin/insmod", "/system/bin/ioctl", | |
"/system/bin/ionice", "/system/bin/kill", "/system/bin/ln", | |
"/system/bin/load_policy", "/system/bin/log", "/system/bin/ls", | |
"/system/bin/lsmod", "/system/bin/lsof", "/system/bin/md5", | |
"/system/bin/mkdir", "/system/bin/mkswap", "/system/bin/mount", | |
"/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat", | |
"/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv", | |
"/system/bin/ps", "/system/bin/r", "/system/bin/readlink", | |
"/system/bin/renice", "/system/bin/restart", "/system/bin/restorecon", | |
"/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod", | |
"/system/bin/route", "/system/bin/runcon", "/system/bin/schedtop", | |
"/system/bin/sendevent", "/system/bin/setconsole", | |
"/system/bin/setenforce", "/system/bin/setfattr", "/system/bin/setprop", | |
"/system/bin/setsebool", "/system/bin/sleep", "/system/bin/smd", | |
"/system/bin/start", "/system/bin/stop", "/system/bin/swapoff", | |
"/system/bin/swapon", "/system/bin/sync", "/system/bin/top", | |
"/system/bin/touch", "/system/bin/umount", "/system/bin/uptime", | |
"/system/bin/vmstat", "/system/bin/watchprops", | |
"/system/bin/wipe"); | |
set_metadata_recursive("/system", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata_recursive("/system/bin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/bin/app_process", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:zygote_exec:s0"); | |
set_metadata("/system/bin/clatd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:clatd_exec:s0"); | |
set_metadata("/system/bin/debuggerd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:debuggerd_exec:s0"); | |
set_metadata("/system/bin/dhcpcd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dhcp_exec:s0"); | |
set_metadata("/system/bin/dnsmasq", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dnsmasq_exec:s0"); | |
set_metadata("/system/bin/drmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:drmserver_exec:s0"); | |
set_metadata("/system/bin/hci_qcomm_init", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hci_attach_exec:s0"); | |
set_metadata("/system/bin/hostapd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hostapd_exec:s0"); | |
set_metadata("/system/bin/installd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:installd_exec:s0"); | |
set_metadata("/system/bin/keystore", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:keystore_exec:s0"); | |
set_metadata("/system/bin/mediaserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaserver_exec:s0"); | |
set_metadata("/system/bin/mksh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:shell_exec:s0"); | |
set_metadata("/system/bin/mpdecision", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mpdecision_exec:s0"); | |
set_metadata("/system/bin/mtpd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mtp_exec:s0"); | |
set_metadata("/system/bin/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/bin/netd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netd_exec:s0"); | |
set_metadata("/system/bin/netmgrd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netmgrd_exec:s0"); | |
set_metadata("/system/bin/ping", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ping_exec:s0"); | |
set_metadata("/system/bin/pppd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ppp_exec:s0"); | |
set_metadata("/system/bin/qemud", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qemud_exec:s0"); | |
set_metadata("/system/bin/qmuxd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qmux_exec:s0"); | |
set_metadata("/system/bin/qseecomd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:tee_exec:s0"); | |
set_metadata("/system/bin/racoon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:racoon_exec:s0"); | |
set_metadata("/system/bin/rild", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rild_exec:s0"); | |
set_metadata("/system/bin/rmt_storage", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rmt_exec:s0"); | |
set_metadata("/system/bin/run-as", "uid", 0, "gid", 2000, "mode", 0750, "capabilities", 0xc0, "selabel", "u:object_r:runas_exec:s0"); | |
set_metadata("/system/bin/sdcard", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sdcardd_exec:s0"); | |
set_metadata("/system/bin/servicemanager", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:servicemanager_exec:s0"); | |
set_metadata("/system/bin/surfaceflinger", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:surfaceflinger_exec:s0"); | |
set_metadata("/system/bin/thermald", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:thermald_exec:s0"); | |
set_metadata("/system/bin/vold", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vold_exec:s0"); | |
set_metadata("/system/bin/wpa_supplicant", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wpa_exec:s0"); | |
set_metadata_recursive("/system/etc/dhcpcd", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:dhcp_system_file:s0"); | |
set_metadata("/system/etc/dhcpcd/dhcpcd-run-hooks", "uid", 1014, "gid", 2000, "mode", 0550, "capabilities", 0x0, "selabel", "u:object_r:dhcp_system_file:s0"); | |
set_metadata_recursive("/system/etc/init.d", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/etc/init.d", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/etc/init.goldfish.sh", "uid", 0, "gid", 2000, "mode", 0550, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/etc/init.qcom.bt.sh", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:bluetooth_loader_exec:s0"); | |
set_metadata_recursive("/system/etc/ppp", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0555, "capabilities", 0x0, "selabel", "u:object_r:ppp_system_file:s0"); | |
set_metadata("/system/vendor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/vendor/camera", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata_recursive("/system/vendor/etc", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/vendor/etc/audio_effects.conf", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/vendor/firmware", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/vendor/lib", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/vendor/lib/hw", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata_recursive("/system/xbin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/xbin/librank", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/xbin/procmem", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/xbin/procrank", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
set_metadata("/system/xbin/su", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0"); | |
set_metadata("/system/xbin/tcpdump", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); | |
show_progress(0.200000, 0); | |
show_progress(0.200000, 10); | |
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh"); | |
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions"); | |
set_perm(0, 0, 0777, "/tmp/backuptool.sh"); | |
set_perm(0, 0, 0644, "/tmp/backuptool.functions"); | |
run_program("/tmp/backuptool.sh", "restore"); | |
delete("/system/bin/backuptool.sh"); | |
delete("/system/bin/backuptool.functions"); | |
show_progress(0.200000, 10); | |
package_extract_file("boot.img", "/dev/block/platform/msm_sdcc.1/by-name/Kernel"); | |
show_progress(0.100000, 0); | |
unmount("/system"); |
Thanks alot for the script, it helped me alot.
Btw; You should really add semicolons to the line ends.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the script, @venuatu