codice:
# Htc Script Version: J1.3
mount("ext4", "EMMC", "system", "/system");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "htc_europe/ville/ville:4.1.1/JRO03C/128506.8:user/release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "htc_europe/ville/ville:4.1.1/JRO03C/128506.9:user/release-keys");
ifelse( is_ship_bootloader(getprop("ro.bootloader")) == "t" ,
assert(check_cid(getprop("ro.cid"), "00000000" , "11111111" ,
"22222222" , "33333333" , "44444444" , "55555555" , "66666666" ,
"77777777" , "88888888" , "99999999" , "HTC__001" , "HTC__E11" ,
"HTC__203" , "HTC__Y13" , "HTC__102" , "HTC__405" , "HTC__304" ,
"HTC__A07" , "HTC__032") == "t");
);
ifelse( is_ship_bootloader(getprop("ro.bootloader")) == "t" ,
assert(check_mid("full", "PJ4010000") == "t");,
assert(check_mid("simple", "PJ4010000") == "t");
);
assert(getprop("ro.product.device") == "ville" ||
getprop("ro.build.product") == "ville");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/7digital3.0.odex", "ffa2b1484ddd2a2cf51ced58e463ac0143654891", "d065a47d125d6eb30439b58aecfd5145ff782531"));
set_progress(0.015197);
assert(apply_patch_check("/system/app/AndroidHtcSync.odex", "d8821007011a95d23d3eb9d0438d904b421c4828", "559597121e655892b8ffc3ff3041e2ea9a945225"));
set_progress(0.020985);
......
.....
assert(apply_patch_check("/system/lib/modules/test-iosched.ko", "df4a3ac014c58ac7319b02e397659ef45f34d6d6", "242bbe93a9c5bb9647fb500b53aca455b37136f2"));
set_progress(1.000000);
# ---- start making changes here ----
mount("ext4", "EMMC", "userdata", "/data");
ui_print("Deleting default files...");
delete("/data/data/recovery/radio_checksum");
delete_recursive("/data/data/com.htc.flashliteplugin/lib/",
"/data/data/com.htc.picasa/");
unmount("/data");
ui_print("Removing unneeded files...");
mount("ext4", "EMMC", "userdata", "/data");
delete("/system/customize/AAInfo.txt", "/system/lib/libbcc.so.sha1",
"/system/recovery.img");
show_progress(0.800000, 0);
ui_print("Patching /system or /data files...");
assert(apply_patch("/system/app/7digital3.0.odex", "-",
ffa2b1484ddd2a2cf51ced58e463ac0143654891, 4576512,
d065a47d125d6eb30439b58aecfd5145ff782531, package_extract_file("patch/system/app/7digital3.0.odex.p")));
set_progress(0.015197);
assert(apply_patch("/system/app/AndroidHtcSync.odex", "-",
d8821007011a95d23d3eb9d0438d904b421c4828, 1743112,
559597121e655892b8ffc3ff3041e2ea9a945225, package_extract_file("patch/system/app/AndroidHtcSync.odex.p")));
set_progress(0.020985);
assert(apply_patch("/system/app/AppSharing.odex", "-",
28fa26fb5b2885211f577f6d76893b0c938271a1, 41664,
f7a8a95abc61f2a3f7231fe91bf6e53cea53e028, package_extract_file("patch/system/app/AppSharing.odex.p")));
set_progress(0.025707);
assert(apply_patch("/system/app/Automotive_Traffic.odex", "-",
f54baf63a288d77bb32e380d2a5a38a67e78bd1c, 127144,
8d106b46ab438eb9ff3b15c07f602ebdcd492ec4, package_extract_file("patch/system/app/Automotive_Traffic.odex.p")));
............
............
............
set_progress(0.998858);
assert(apply_patch("/system/lib/modules/spidev.ko", "-",
f11243c1ad066c95f7c054c05326ff339257ee3e, 153491,
5a680af240bf2a29eec657ea41e38913c41ea35a, package_extract_file("patch/system/lib/modules/spidev.ko.p")));
set_progress(0.999368);
assert(apply_patch("/system/lib/modules/test-iosched.ko", "-",
df4a3ac014c58ac7319b02e397659ef45f34d6d6, 183149,
242bbe93a9c5bb9647fb500b53aca455b37136f2, package_extract_file("patch/system/lib/modules/test-iosched.ko.p")));
set_progress(0.999976);
show_progress(0.100000, 10);
ui_print("Unpacking new system files...");
assert(package_extract_dir("system", "/system"));
ui_print("Symlinks and permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 1000, 0750, "/system/bin/iptables");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(0, 1000, 0750, "/system/bin/tc");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(1000, 3003, 0640, "/system/etc/gps.conf");
set_perm(0, 0, 0400, "/system/etc/hsml.key");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/lib");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib/drm");
set_perm(0, 0, 0644, "/system/vendor/lib/drm/libdrmwvmplugin.so");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.7/left_eye-y0-yi45-p0-pi45-r0-ri20.lg_32/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.7/nose_base-y0-yi45-p0-pi45-r0-ri20.lg_32/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.7/right_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.6/head-y0-yi45-p0-pi45-r0-ri30.4a-v24/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.6/head-y0-yi45-p0-pi45-rn30-ri30.5-v24/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.6/head-y0-yi45-p0-pi45-rp30-ri30.5-v24/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/recognition/face.face.y0-y0-22-b-N/full_model.bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
ui_print("Patching remaining system files...");
assert(apply_patch("/system/build.prop", "-",
781181f2739e2a2a4e5044b7afb87b5b295ac15a, 7270,
321c82b787fcd6504cf7d53bdb6318a85e7046dd, package_extract_file("patch/system/build.prop.p")));
set_perm(0, 0, 0644, "/system/build.prop");
mount("ext4", "EMMC", "userdata", "/data");
ui_print("Copying fotaBoot to /data/system for customize reload...");
package_extract_file("fotaBoot", "/data/system/fotaBoot");
unmount("/data");
mount("ext4", "EMMC", "userdata", "/data");
ui_print("Preparing skin_fota tool...");
package_extract_file("skin_fota", "/tmp/skin_fota");
set_perm(0, 0, 06755, "/tmp/skin_fota");
ui_print("Running skin_fota tool...");
run_program("/tmp/skin_fota");
unmount("/data");
write_firmware_image("PACKAGE:firmware.zip", "zip");
unmount("/data");
unmount("/system");
Flashando tutto l'OTA.ZIP avresti eseguito per intero tutto l'aggiornamento, mentre flashando eslcusivamente il firmware.zip esegui solo questa riga: