Download Sprint 2.27.651.6 Update Here For Testing - Hero CDMA Android Development
Warning!!! Do not install if you want to keep root!!!
With that out of the way, I am posting this for anyone that wants to tear it apart and tell us exactly what this does. We know it patches the recent 2.1 root exploit, but does it do anything else?
I am uploading the exact file that my phone downloaded OTA for anyone who wants to look through it.
We now have 4 seperate posts in three (3) different sub's.
Does ANYONE use search before posting anymore?
After getting the Hero Forums seperate, it seems we get more and more of these double,triple, quad posts than before.
Just my 0.02
bubbacs1 said:
We now have 4 seperate posts in three (3) different sub's.
Does ANYONE use search before posting anymore?
After getting the Hero Forums seperate, it seems we get more and more of these double,triple, quad posts than before.
Just my 0.02
Click to expand...
Click to collapse
Why ***** about it???? its gonna keep Happening
bubbacs1 said:
We now have 4 seperate posts in three (3) different sub's.
Does ANYONE use search before posting anymore?
After getting the Hero Forums seperate, it seems we get more and more of these double,triple, quad posts than before.
Just my 0.02
Click to expand...
Click to collapse
Please, I beg of you, link me to the 4 separate posts in 3 different subforums where you can download this file for testing.
Yes, there are other threads concerning this update affecting root, how to downgrade if you did update, etc. However, this is the thread that provides the file for users to snoop through and see what all it does. This is the first time this has been posted, and I felt it deserved it's own thread. If the mods disagree, then they can merge this post with another (mostly) unrelated thread, or delete it altogether.
I'm of the opinion that if someone posts something new, it should be in a new thread.
well looking at the files it patches
system/bin/debuggerd
system/etc/security/otacerts
system/customize/MNS/default.xml
system/lib/opencore_rtsp.so
also every file in /system/framework
and updates the build.prop to reflect the update.
I'm guessing debuggerd is the main one that disables the root exploit. But I don't know since I've been rooted since 1.5 so I don't know how the new exploit works.
Here is the update script.
Code:
mount("MTD", "system", "/system");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "sprint/htc_heroc/heroc/heroc:2.1-update1/ERE27/169236:user/release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "sprint/htc_heroc/heroc/heroc:2.1-update1/ERE27/169236:user/release-keys");
assert(getprop("ro.product.device") == "heroc" ||
getprop("ro.build.product") == "heroc");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/bin/debuggerd", "ce6fb95f01f5a9b71862ccf6e081f895c0e220d1", "2ae6b87aca6c4473f4780d4ce2b8f2b8be39936d"));
set_progress(0.001011);
assert(apply_patch_check("/system/build.prop", "67f237c118d5af73f71af7630e4fe59c7155ae96", "69679987003e6012bd2d27d83fd52f7c99179f40"));
set_progress(0.001219);
assert(apply_patch_check("/system/customize/MNS/default.xml", "9e200a7e2a4253dc77ac58373cdae8b98ed49d51", "2c60d43a5669b603b2d007ac5c4edcee22e6599a"));
set_progress(0.005992);
assert(apply_patch_check("/system/etc/security/otacerts.zip", "c90533af43764c2d87acca4141cde42b47a543d2", "8372dcc231da14f77107163b4a4d4ca10b798878"));
set_progress(0.006056);
assert(apply_patch_check("/system/framework/am.jar", "b41e5cc0320f383489f144dbd3d1e75936a854b8", "cb7533a678c007dd7fd82c7a2db148c9dbc62490"));
set_progress(0.006076);
assert(apply_patch_check("/system/framework/am.odex", "0be0c8b999ed4a73139b08d557df35c0bebb1415", "5d3fb3e8589ec671bc4349a40dc4ad689daf6a15"));
set_progress(0.006920);
assert(apply_patch_check("/system/framework/android.policy.jar", "eb9f1e5117a0c13fd7129b0cb91e8e410c738bdc", "ac50c63ff745a09463a99f91ea7ee4a86298e318"));
set_progress(0.006939);
assert(apply_patch_check("/system/framework/android.policy.odex", "8dd0b527f096bb491c698f554458ebf323ec5937", "7fc293c153eccf33ddf5f71166a8ad36d695e3fd"));
set_progress(0.018669);
assert(apply_patch_check("/system/framework/android.test.runner.jar", "fdcac2b79a50c262bed63e0ccfb357268a49d701", "548d27f81751ea7f3c55cc17059ae073861047f5"));
set_progress(0.018689);
assert(apply_patch_check("/system/framework/android.test.runner.odex", "e0372aa81e892c718d9098ac06ff2e542ad3f7e7", "00628b91c88d45d5966eeb2c408b6321c823fb6a"));
set_progress(0.028288);
assert(apply_patch_check("/system/framework/bmgr.jar", "b41e5cc0320f383489f144dbd3d1e75936a854b8", "cb7533a678c007dd7fd82c7a2db148c9dbc62490"));
set_progress(0.028307);
assert(apply_patch_check("/system/framework/bmgr.odex", "4a33204d344ac9582856c08135eed612dc18d5e4", "e51d289dc39eabd5e65048067c162804ca78fc0e"));
set_progress(0.028979);
assert(apply_patch_check("/system/framework/com.htc.android.easopen.jar", "87c1fc4ce78476c91f4c01f3161d35b1648b09c0", "b8ce9d576ebe9abada46e613328ad181fc03b1fe"));
set_progress(0.028999);
assert(apply_patch_check("/system/framework/com.htc.android.easopen.odex", "c1885f72e5ee1142de943f09f19d77618a7733db", "13632aecd83b889fe35ca37340bfdd5d9b53add3"));
set_progress(0.030389);
assert(apply_patch_check("/system/framework/com.htc.android.pimlib.jar", "8ea8f2f1e71f01d5fe641d2d187b9bead8080cd7", "548d27f81751ea7f3c55cc17059ae073861047f5"));
set_progress(0.030408);
assert(apply_patch_check("/system/framework/com.htc.android.pimlib.odex", "2523d41c2d66f2f8a772e1420e3a69c17dc3f385", "ee1604618e8c43b501fbedf25f0a90c47e2bad50"));
set_progress(0.035069);
assert(apply_patch_check("/system/framework/com.htc.framework.jar", "fdcac2b79a50c262bed63e0ccfb357268a49d701", "548d27f81751ea7f3c55cc17059ae073861047f5"));
set_progress(0.035088);
assert(apply_patch_check("/system/framework/com.htc.framework.odex", "38376a1f5f7b695cbcac38ca2fe535ba3d9ea964", "7c07a4542df4a305abf3d34c7ab832d05c082fa8"));
set_progress(0.137094);
assert(apply_patch_check("/system/framework/com.scalado.util.ScaladoUtil.jar", "1aecd5fedaf8768a9073a7b0be796cabc4575c98", "36c35cd6bc8fc2de27c013b455890af7e0767e4b"));
set_progress(0.137114);
assert(apply_patch_check("/system/framework/com.scalado.util.ScaladoUtil.odex", "be671bdceb23bd20d5c235921228bebc95f0698b", "3efa0553a5b4b63c3162ebed1a357396c45a8d5b"));
set_progress(0.137481);
assert(apply_patch_check("/system/framework/core.jar", "d9c7d22b7d9a0ff164d93dbe2dd7a4a6c83e0abc", "f5bfbe8db7f95c30b73abf34eec7e8a0ae92bb09"));
set_progress(0.139889);
assert(apply_patch_check("/system/framework/core.odex", "fa51af8728bff16125eb30e0642358e9fe67c245", "89d452b584335c3e17fb80580dcd597e3db24f71"));
set_progress(0.348324);
assert(apply_patch_check("/system/framework/ext.jar", "643eebba2ceda7aa988f9ddb3955a4fee14da73a", "2594d06a71b3ed9b156cad71789f14fda93c4083"));
set_progress(0.348343);
assert(apply_patch_check("/system/framework/ext.odex", "92baaa74dbaad5a549751079759ce7661fde6d46", "161186c58a908465f5ea11e4d772f6bdd77591a4"));
set_progress(0.405171);
assert(apply_patch_check("/system/framework/framework-tests.jar", "c4aec7a8af1686b2f4b7dc58a235166ec11955e3", "e799a6ce03a33b33786eed065211eb599d736b18"));
set_progress(0.405191);
assert(apply_patch_check("/system/framework/framework-tests.odex", "dd95a253bdf3673798b096f0bd07816cbe0c6329", "82b014c7b64704cc3683e6d1d35b26a5562a6b5e"));
set_progress(0.406659);
assert(apply_patch_check("/system/framework/framework.jar", "1f98194a524b8784dd8f998aff6d808454fb2a01", "40196613e8e7554f600dd8b25d79e387e6001781"));
set_progress(0.407436);
assert(apply_patch_check("/system/framework/framework.odex", "7d89568d1b0ec7546d05e4dc92cc63923b939e06", "9d7fdf5cd1b55756e7249ff038b1749295dc8146"));
set_progress(0.895468);
assert(apply_patch_check("/system/framework/ime.jar", "b41e5cc0320f383489f144dbd3d1e75936a854b8", "4cc96cc93afe79078534ab11eac62c1c80772622"));
set_progress(0.895488);
assert(apply_patch_check("/system/framework/ime.odex", "f16a9a299e15a17187cd8ba7a8cd16f8cf650781", "4ad8caa92d93d0c8318b1a95640d03d34cb07b47"));
set_progress(0.895844);
assert(apply_patch_check("/system/framework/input.jar", "b41e5cc0320f383489f144dbd3d1e75936a854b8", "4cc96cc93afe79078534ab11eac62c1c80772622"));
set_progress(0.895863);
assert(apply_patch_check("/system/framework/input.odex", "db1e5cbde1c58bc548d4fee0093dda847cd42b26", "504077fd36d82b6ee032c9369d56eb32083f37f2"));
set_progress(0.896103);
assert(apply_patch_check("/system/framework/javax.obex.jar", "fdcac2b79a50c262bed63e0ccfb357268a49d701", "548d27f81751ea7f3c55cc17059ae073861047f5"));
set_progress(0.896122);
assert(apply_patch_check("/system/framework/javax.obex.odex", "8f792d0a88df1679304aa04b71dd16db53cf0d8e", "06eea40a2d39dd93f321c770db7c2883ff4947d9"));
set_progress(0.899211);
assert(apply_patch_check("/system/framework/monkey.jar", "7c3e195ba8d8787b238dfd7f75c85223b686be68", "4cc96cc93afe79078534ab11eac62c1c80772622"));
set_progress(0.899230);
assert(apply_patch_check("/system/framework/monkey.odex", "e480bd11a04f753fb799ecf2eaa9c0891817af14", "39224e26446b89d2381c3c4b75e9a577820691c8"));
set_progress(0.902917);
assert(apply_patch_check("/system/framework/pm.jar", "7c3e195ba8d8787b238dfd7f75c85223b686be68", "4cc96cc93afe79078534ab11eac62c1c80772622"));
set_progress(0.902937);
assert(apply_patch_check("/system/framework/pm.odex", "8e3c25e5a27cd182acf24ea9e719d37d73a56c91", "bb6103a6c49fc371ce653e2ca6d8aacce50aba93"));
set_progress(0.904142);
assert(apply_patch_check("/system/framework/services.jar", "229080d612ae9ec470dbdecbf9dd652facf0a732", "b5d2e2f5da714f2a0ef268b688e7e63b4957a3d8"));
set_progress(0.904161);
assert(apply_patch_check("/system/framework/services.odex", "e48ef50dfd10faf55e673ca7a30331cefc45842a", "898680d8734bcf39dc3feb95619363d55735e51e"));
set_progress(0.973288);
assert(apply_patch_check("/system/framework/svc.jar", "7c3e195ba8d8787b238dfd7f75c85223b686be68", "4cc96cc93afe79078534ab11eac62c1c80772622"));
set_progress(0.973307);
assert(apply_patch_check("/system/framework/svc.odex", "43d22f19282adf2ae0fefbb44f9a654c0d582c4c", "989c40f9bbc016e0b35876f8cecead139ec20bd8"));
set_progress(0.973748);
assert(apply_patch_check("/system/lib/libopencore_rtsp.so", "a6d1dbe964e3d27998e9390067423dc673785de2", "0424cf7b46ac11d2217ec306243b330426ae3737"));
set_progress(1.000000);
ui_print("Unpacking patches...");
package_extract_dir("patch", "/tmp/patchtmp");
# ---- start making changes here ----
ui_print("Removing unneeded files...");
delete("/system/bin/skyagent");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/bin/debuggerd", "-",
ce6fb95f01f5a9b71862ccf6e081f895c0e220d1, 18056,
"2ae6b87aca6c4473f4780d4ce2b8f2b8be39936d:/tmp/patchtmp/system/bin/debuggerd.p");
set_progress(0.001011);
apply_patch("/system/build.prop", "-",
67f237c118d5af73f71af7630e4fe59c7155ae96, 3711,
"69679987003e6012bd2d27d83fd52f7c99179f40:/tmp/patchtmp/system/build.prop.p");
set_progress(0.001219);
apply_patch("/system/customize/MNS/default.xml", "-",
9e200a7e2a4253dc77ac58373cdae8b98ed49d51, 85253,
"2c60d43a5669b603b2d007ac5c4edcee22e6599a:/tmp/patchtmp/system/customize/MNS/default.xml.p");
set_progress(0.005992);
apply_patch("/system/etc/security/otacerts.zip", "-",
c90533af43764c2d87acca4141cde42b47a543d2, 1144,
"8372dcc231da14f77107163b4a4d4ca10b798878:/tmp/patchtmp/system/etc/security/otacerts.zip.p");
set_progress(0.006056);
apply_patch("/system/framework/am.jar", "-",
b41e5cc0320f383489f144dbd3d1e75936a854b8, 345,
"cb7533a678c007dd7fd82c7a2db148c9dbc62490:/tmp/patchtmp/system/framework/am.jar.p");
set_progress(0.006076);
apply_patch("/system/framework/am.odex", "-",
0be0c8b999ed4a73139b08d557df35c0bebb1415, 15072,
"5d3fb3e8589ec671bc4349a40dc4ad689daf6a15:/tmp/patchtmp/system/framework/am.odex.p");
set_progress(0.006920);
apply_patch("/system/framework/android.policy.jar", "-",
eb9f1e5117a0c13fd7129b0cb91e8e410c738bdc, 345,
"ac50c63ff745a09463a99f91ea7ee4a86298e318:/tmp/patchtmp/system/framework/android.policy.jar.p");
set_progress(0.006939);
apply_patch("/system/framework/android.policy.odex", "-",
8dd0b527f096bb491c698f554458ebf323ec5937, 209504,
"7fc293c153eccf33ddf5f71166a8ad36d695e3fd:/tmp/patchtmp/system/framework/android.policy.odex.p");
set_progress(0.018669);
apply_patch("/system/framework/android.test.runner.jar", "-",
fdcac2b79a50c262bed63e0ccfb357268a49d701, 345,
"548d27f81751ea7f3c55cc17059ae073861047f5:/tmp/patchtmp/system/framework/android.test.runner.jar.p");
set_progress(0.018689);
apply_patch("/system/framework/android.test.runner.odex", "-",
e0372aa81e892c718d9098ac06ff2e542ad3f7e7, 171432,
"00628b91c88d45d5966eeb2c408b6321c823fb6a:/tmp/patchtmp/system/framework/android.test.runner.odex.p");
set_progress(0.028288);
apply_patch("/system/framework/bmgr.jar", "-",
b41e5cc0320f383489f144dbd3d1e75936a854b8, 345,
"cb7533a678c007dd7fd82c7a2db148c9dbc62490:/tmp/patchtmp/system/framework/bmgr.jar.p");
set_progress(0.028307);
apply_patch("/system/framework/bmgr.odex", "-",
4a33204d344ac9582856c08135eed612dc18d5e4, 12008,
"e51d289dc39eabd5e65048067c162804ca78fc0e:/tmp/patchtmp/system/framework/bmgr.odex.p");
set_progress(0.028979);
apply_patch("/system/framework/com.htc.android.easopen.jar", "-",
87c1fc4ce78476c91f4c01f3161d35b1648b09c0, 345,
"b8ce9d576ebe9abada46e613328ad181fc03b1fe:/tmp/patchtmp/system/framework/com.htc.android.easopen.jar.p");
set_progress(0.028999);
apply_patch("/system/framework/com.htc.android.easopen.odex", "-",
c1885f72e5ee1142de943f09f19d77618a7733db, 24832,
"13632aecd83b889fe35ca37340bfdd5d9b53add3:/tmp/patchtmp/system/framework/com.htc.android.easopen.odex.p");
set_progress(0.030389);
apply_patch("/system/framework/com.htc.android.pimlib.jar", "-",
8ea8f2f1e71f01d5fe641d2d187b9bead8080cd7, 345,
"548d27f81751ea7f3c55cc17059ae073861047f5:/tmp/patchtmp/system/framework/com.htc.android.pimlib.jar.p");
set_progress(0.030408);
apply_patch("/system/framework/com.htc.android.pimlib.odex", "-",
2523d41c2d66f2f8a772e1420e3a69c17dc3f385, 83232,
"ee1604618e8c43b501fbedf25f0a90c47e2bad50:/tmp/patchtmp/system/framework/com.htc.android.pimlib.odex.p");
set_progress(0.035069);
apply_patch("/system/framework/com.htc.framework.jar", "-",
fdcac2b79a50c262bed63e0ccfb357268a49d701, 345,
"548d27f81751ea7f3c55cc17059ae073861047f5:/tmp/patchtmp/system/framework/com.htc.framework.jar.p");
set_progress(0.035088);
apply_patch("/system/framework/com.htc.framework.odex", "-",
38376a1f5f7b695cbcac38ca2fe535ba3d9ea964, 1821800,
"7c07a4542df4a305abf3d34c7ab832d05c082fa8:/tmp/patchtmp/system/framework/com.htc.framework.odex.p");
set_progress(0.137094);
apply_patch("/system/framework/com.scalado.util.ScaladoUtil.jar",
"-", 1aecd5fedaf8768a9073a7b0be796cabc4575c98, 345,
"36c35cd6bc8fc2de27c013b455890af7e0767e4b:/tmp/patchtmp/system/framework/com.scalado.util.ScaladoUtil.jar.p");
set_progress(0.137114);
apply_patch("/system/framework/com.scalado.util.ScaladoUtil.odex",
"-", be671bdceb23bd20d5c235921228bebc95f0698b, 6560,
"3efa0553a5b4b63c3162ebed1a357396c45a8d5b:/tmp/patchtmp/system/framework/com.scalado.util.ScaladoUtil.odex.p");
set_progress(0.137481);
apply_patch("/system/framework/core.jar", "-",
d9c7d22b7d9a0ff164d93dbe2dd7a4a6c83e0abc, 43000,
"f5bfbe8db7f95c30b73abf34eec7e8a0ae92bb09:/tmp/patchtmp/system/framework/core.jar.p");
set_progress(0.139889);
apply_patch("/system/framework/core.odex", "-",
fa51af8728bff16125eb30e0642358e9fe67c245, 3722584,
"89d452b584335c3e17fb80580dcd597e3db24f71:/tmp/patchtmp/system/framework/core.odex.p");
set_progress(0.348324);
apply_patch("/system/framework/ext.jar", "-",
643eebba2ceda7aa988f9ddb3955a4fee14da73a, 345,
"2594d06a71b3ed9b156cad71789f14fda93c4083:/tmp/patchtmp/system/framework/ext.jar.p");
set_progress(0.348343);
apply_patch("/system/framework/ext.odex", "-",
92baaa74dbaad5a549751079759ce7661fde6d46, 1014928,
"161186c58a908465f5ea11e4d772f6bdd77591a4:/tmp/patchtmp/system/framework/ext.odex.p");
set_progress(0.405171);
apply_patch("/system/framework/framework-tests.jar", "-",
c4aec7a8af1686b2f4b7dc58a235166ec11955e3, 345,
"e799a6ce03a33b33786eed065211eb599d736b18:/tmp/patchtmp/system/framework/framework-tests.jar.p");
set_progress(0.405191);
apply_patch("/system/framework/framework-tests.odex", "-",
dd95a253bdf3673798b096f0bd07816cbe0c6329, 26216,
"82b014c7b64704cc3683e6d1d35b26a5562a6b5e:/tmp/patchtmp/system/framework/framework-tests.odex.p");
set_progress(0.406659);
apply_patch("/system/framework/framework.jar", "-",
1f98194a524b8784dd8f998aff6d808454fb2a01, 13891,
"40196613e8e7554f600dd8b25d79e387e6001781:/tmp/patchtmp/system/framework/framework.jar.p");
set_progress(0.407436);
apply_patch("/system/framework/framework.odex", "-",
7d89568d1b0ec7546d05e4dc92cc63923b939e06, 8716080,
"9d7fdf5cd1b55756e7249ff038b1749295dc8146:/tmp/patchtmp/system/framework/framework.odex.p");
set_progress(0.895468);
apply_patch("/system/framework/ime.jar", "-",
b41e5cc0320f383489f144dbd3d1e75936a854b8, 345,
"4cc96cc93afe79078534ab11eac62c1c80772622:/tmp/patchtmp/system/framework/ime.jar.p");
set_progress(0.895488);
apply_patch("/system/framework/ime.odex", "-",
f16a9a299e15a17187cd8ba7a8cd16f8cf650781, 6368,
"4ad8caa92d93d0c8318b1a95640d03d34cb07b47:/tmp/patchtmp/system/framework/ime.odex.p");
set_progress(0.895844);
apply_patch("/system/framework/input.jar", "-",
b41e5cc0320f383489f144dbd3d1e75936a854b8, 345,
"4cc96cc93afe79078534ab11eac62c1c80772622:/tmp/patchtmp/system/framework/input.jar.p");
set_progress(0.895863);
apply_patch("/system/framework/input.odex", "-",
db1e5cbde1c58bc548d4fee0093dda847cd42b26, 4272,
"504077fd36d82b6ee032c9369d56eb32083f37f2:/tmp/patchtmp/system/framework/input.odex.p");
set_progress(0.896103);
apply_patch("/system/framework/javax.obex.jar", "-",
fdcac2b79a50c262bed63e0ccfb357268a49d701, 345,
"548d27f81751ea7f3c55cc17059ae073861047f5:/tmp/patchtmp/system/framework/javax.obex.jar.p");
set_progress(0.896122);
apply_patch("/system/framework/javax.obex.odex", "-",
8f792d0a88df1679304aa04b71dd16db53cf0d8e, 55160,
"06eea40a2d39dd93f321c770db7c2883ff4947d9:/tmp/patchtmp/system/framework/javax.obex.odex.p");
set_progress(0.899211);
apply_patch("/system/framework/monkey.jar", "-",
7c3e195ba8d8787b238dfd7f75c85223b686be68, 345,
"4cc96cc93afe79078534ab11eac62c1c80772622:/tmp/patchtmp/system/framework/monkey.jar.p");
set_progress(0.899230);
apply_patch("/system/framework/monkey.odex", "-",
e480bd11a04f753fb799ecf2eaa9c0891817af14, 65856,
"39224e26446b89d2381c3c4b75e9a577820691c8:/tmp/patchtmp/system/framework/monkey.odex.p");
set_progress(0.902917);
apply_patch("/system/framework/pm.jar", "-",
7c3e195ba8d8787b238dfd7f75c85223b686be68, 345,
"4cc96cc93afe79078534ab11eac62c1c80772622:/tmp/patchtmp/system/framework/pm.jar.p");
set_progress(0.902937);
apply_patch("/system/framework/pm.odex", "-",
8e3c25e5a27cd182acf24ea9e719d37d73a56c91, 21520,
"bb6103a6c49fc371ce653e2ca6d8aacce50aba93:/tmp/patchtmp/system/framework/pm.odex.p");
set_progress(0.904142);
apply_patch("/system/framework/services.jar", "-",
229080d612ae9ec470dbdecbf9dd652facf0a732, 345,
"b5d2e2f5da714f2a0ef268b688e7e63b4957a3d8:/tmp/patchtmp/system/framework/services.jar.p");
set_progress(0.904161);
apply_patch("/system/framework/services.odex", "-",
e48ef50dfd10faf55e673ca7a30331cefc45842a, 1234584,
"898680d8734bcf39dc3feb95619363d55735e51e:/tmp/patchtmp/system/framework/services.odex.p");
set_progress(0.973288);
apply_patch("/system/framework/svc.jar", "-",
7c3e195ba8d8787b238dfd7f75c85223b686be68, 345,
"4cc96cc93afe79078534ab11eac62c1c80772622:/tmp/patchtmp/system/framework/svc.jar.p");
set_progress(0.973307);
apply_patch("/system/framework/svc.odex", "-",
43d22f19282adf2ae0fefbb44f9a654c0d582c4c, 7880,
"989c40f9bbc016e0b35876f8cecead139ec20bd8:/tmp/patchtmp/system/framework/svc.odex.p");
set_progress(0.973748);
apply_patch("/system/lib/libopencore_rtsp.so", "-",
a6d1dbe964e3d27998e9390067423dc673785de2, 468844,
"0424cf7b46ac11d2217ec306243b330426ae3737:/tmp/patchtmp/system/lib/libopencore_rtsp.so.p");
set_progress(1.000000);
show_progress(0.100000, 10);
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, 3003, 06755, "/system/bin/ip");
set_perm(0, 3003, 02755, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 04755, "/system/bin/pppd");
set_perm(0, 2000, 06755, "/system/bin/reboot");
set_perm(0, 1000, 06755, "/system/bin/wifitools");
set_perm(1001, 1005, 0444, "/system/etc/AudioPara4.csv");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluez");
set_perm(0, 0, 0755, "/system/etc/bluez");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
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, 0755, "/system/xbin");
unmount("/system");
Just thinking out loud. Couldn't we remove the debuggerd and add in su? I'm sure it isn't that easy.
Mr. Biggz said:
Just thinking out loud. Couldn't we remove the debuggerd and add in su? I'm sure it isn't that easy.
Click to expand...
Click to collapse
It's not that easy. Anyway this problem can be avoided by simply not installing this update or not using the 2.27.651.6 ruu.
But....seeing as sprint/bestbuy/radioshack or what have you have dropped the prices of the hero I can imagine we'll see a bunch of people looking for root since new hero's will most likely have the updated/patched firmware.
The only thing this zip does is patch the security hole that was used for rooting. and updates the build.prop to .6 (and changes the date)
Related
[Q] help with my kernel.zip, doesn't install kernel modules
In my kernel installer ZIP file, I have added some modules in system/lib/modules ... however they never end up getting installed. My updater-script is: Code: ui_print(""); ui_print("Flashing Kernel"); mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/system"); package_extract_dir("system", "/system"); symlink("/lib/modules", "/system/lib/modules"); set_perm(0, 0, 0644, "/system/lib/libhardware_legacy.so"); set_perm(0, 0, 0644, "/system/lib/hw/lights.msm8660.so"); set_perm(0, 2000, 0550, "/system/etc/init.qcom.post_boot.sh"); set_perm_recursive(0, 0, 0755, 0644, "/system/lib/modules"); unmount("/system"); show_progress(0.500000, 0); assert(package_extract_file("boot.img", "/tmp/boot.img"), write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"), delete("/tmp/boot.img")); show_progress(0.100000, 0); ui_print("Done"); I've included my kernel zip file also so you can extract it and find the directory structure. Is it because the initramfs in boot.img overwrites this directory or something? http://users.ece.cmu.edu/~gnychis/hedpe_kernel.zip
it appears that anything put in the root of /system or in /system/lib is not honored. If I put something in /system/etc it will get installed via the updater script
Update script permission?
I am finishing off an update script and ran into a problem trying to set the permissions on an init.d script that I am loading to the system. Here are a few things I have tried to set on "crystal_clear" without success. set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d"); set_perm(0, 0, 0777, "/system/etc/init.d/crystal_clear"); Am I even close with this? This is my first update script. I bet i'm just missing something stupid but it's been killing me for hours and tried so many variations. Here is everything so far. If there is something else you see here that doesn't look right please let me know. show_progress(0.1, 0); ui_print("Mounting System Partition"); mount("ext4", "EMMC", "/dev/block/mmcblk0p14", "/system"); package_extract_file("tweaks/buildprop.sh", "/tmp/buildprop.sh"); package_extract_file("tweaks/sysmount/sysrw", "/tmp/sysrw"); package_extract_file("tweaks/sysmount/sysro", "/tmp/sysro"); set_perm(0, 0, 0777, "/tmp/buildprop.sh"); set_perm(0, 0, 0777, "/tmp/sysrw"); set_perm(0, 0, 0777, "/tmp/sysro"); ui_print(""); ui_print("Patching Build.prop"); run_program("/sbin/sh", "/tmp/sysrw"); run_program("/sbin/sh", "/tmp/buildprop.sh"); ui_print(""); ui_print("Patching adreno_config.txt, and egl.cfg"); package_extract_dir("system", "/system"); run_program("/sbin/sh", "/tmp/sysro"); show_progress(0.1, 10); ui_print(""); ui_print("All tweaking processes are done"); ui_print("Adjusting framebuffer and color depth"); package_extract_file("system", "/system/etc/init.d"); set_perm(0, 0, 0777, 0777, "/etc/init.d/crystal_clear"); show_progress(0.2, 0); unmount("/system"); ui_print("DONE");
General comments. A simple Code: set_perm_recursive(0, 0, 0755, 0755, "/system/etc/init.d"); after I've extracted the all the files I've wanted to the right place has always worked fine in the CWM ZIP I keep for personal use to install BusyBox etc. razz1 said: package_extract_file("tweaks/sysmount/sysrw", "/tmp/sysrw"); package_extract_file("tweaks/sysmount/sysro", "/tmp/sysro"); set_perm(0, 0, 0777, "/tmp/sysrw"); set_perm(0, 0, 0777, "/tmp/sysro"); run_program("/sbin/sh", "/tmp/sysrw"); run_program("/sbin/sh", "/tmp/sysro"); Click to expand... Click to collapse You don't need these. CWM/TWRP will mount /system rw by default and you don't really need to remount it ro in CWM. package_extract_dir("system", "/system"); package_extract_file("system", "/system/etc/init.d"); Click to expand... Click to collapse Is "system" a directory or a file? That said, I think you want the former - just have a system folder in the root of your ZIP mirroring where you want the files to be placed (so in your ZIP, create a "system" folder at the same level as META-INF and then have a "etc" folder inside that, then a "init.d" folder inside "etc" with your script inside "init.d").
THANK YOU! I'm going to try a few things you said and go from there. Here is my current hierarchy... 4xMultiSampling_Antialiasing.zip ......META-INF ..........com .............google ................android .....................update-binary .....................updater-script ......system .........etc .............Init.d ................crystal_clear. <-----this is what would not change to 0777 ......lib ........egl ..........egl.config ......tweaks .........build.prop.sh .........sysmount ..............sysro ..............sysrw
razz1 said: .............Init.d Click to expand... Click to collapse If that's not a typo, it needs to be init.d - ext* file systems, unlike Windows', are case-sensitive
Yes that was a typo, but I appreciate your attention to detail because that's is exactly what I need. As you know, its that sort of thing that can kill a script. Critique away!
It appears I was able to pull it off with your help. Thanks. All is well here now.
Glad to hear it.
[Q] Help with update-script (status 6)
Hi guys, I have this error on my own update.zip, so I need help - Edited with notepad++ - I checked, end of line, it's correct - I checked, unix system, not windows. So, I think is a bad mount command, my file system it's rfs (i think, just flashed with odin) , not ext4. Paste my script: show_progress(0.500000, 0); ui_print("========================"); ui_print("== Value.and.Fast 2.5 =="); ui_print("========================"); run_program("/sbin/busybox", "mount", "/system"); assert(is_mounted("/system")); package_extract_dir("system", "/system"); ui_print("Asignando permisos..."); set_perm(0, 0, 0644, "/system/build.prop"); set_perm(0, 0, 0644, "/system/app/AxT9IME.apk"); set_perm(0, 0, 0644, "/system/app/ClockWidgets.apk"); set_perm(0, 0, 0644, "/system/app/Home_MultiResolution.apk"); set_perm(0, 0, 0644, "/system/app/WidgetPicker.apk"); ui_print("Eliminando aplicaciones..."); delete("/system/app/BuddiesNow.apk"); delete("/system/app/BuddiesNow.odex"); delete("/system/app/Dlna.apk"); delete("/system/app/Dlna.odex"); delete("/system/app/Signin.apk"); delete("/system/app/Signin.odex"); delete("/system/app/Days.apk"); delete("/system/app/Days.odex"); delete("/system/app/DualClock.apk"); delete("/system/app/DualClock.odex"); delete("/system/app/Gallery3D.apk"); delete("/system/app/Gallery3D.odex"); delete("/system/app/Email.apk"); delete("/system/app/Layar-samsung.apk"); delete("/system/app/Maps.apk"); delete("/system/app/MiniDiary.apk"); delete("/system/app/MiniDiary.odex"); delete("/system/app/MinimalHome.apk"); delete("/system/app/MinimalHome.odex"); delete("/system/app/MobileTrackerEngineTwo.apk"); delete("/system/app/MobileTrackerEngineTwo.odex"); delete("/system/app/MobileTrackerUI.apk"); delete("/system/app/MobileTrackerUI.odex"); delete("/system/app/Protips.apk"); delete("/system/app/Protips.odex"); delete("/system/app/RoseEUKor.apk"); delete("/system/app/SamsungApps.apk"); delete("/system/app/SamsungAppsUNA3.apk"); delete("/system/app/SamsungWidget_FeedAndUpdate.apk"); delete("/system/app/SamsungWidget_FeedAndUpdate.odex"); delete("/system/app/SamsungWidget_StockClock.apk"); delete("/system/app/SamsungWidget_StockClock.odex"); delete("/system/app/ShareApp.apk"); delete("/system/app/ShareApp.odex"); delete("/system/app/Street.apk"); delete("/system/app/Swype.apk"); delete("/system/app/syncmldm.apk"); delete("/system/app/syncmldm.odex"); delete("/system/app/thinkdroid.apk"); delete("/system/app/UnifiedInbox.apk"); delete("/system/app/UnifiedInbox.odex"); delete("/system/app/WriteandGo.apk"); delete("/system/app/WriteandGo.odex"); delete("/system/app/MagicSmokeWallpapers.apk"); delete("/system/app/MagicSmokeWallpapers.odex"); run_program("/sbin/busybox", "umount", "/system"); ui_print(" === FIN === "); show_progress(0.200000, 0); show_progress(0.200000, 10); show_progress(0.100000, 0); Click to expand... Click to collapse Thank!!
check on CMW - advance - show log it will show what wrong after you flash the zip
Nevermind, i fix the problem deleting line: ui_print("=================");
how can it fix your problem? I got a staus 6 too You mean if I remov this lines set_progress(0.95); ui_print("**************************************** ******"); ui_print("* Creating system links *"); ui_print("**************************************** ******"); and this... set_progress(0.99); ui_print("**************************************** ******"); ui_print("* Install kernel *"); ui_print("**************************************** ******"); assert(package_extract_file("boot.img", "/tmp/boot.img"), write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"), delete("/tmp/boot.img")); unmount("/data"); unmount("/system"); unmount("/custpack"); set_progress(1.00); ui_print("**************************************** ******"); ui_print(" DONE !!! "); ui_print("**************************************** ******"); will fix it
[GUIDE][PORTING] OTX - Bloatware Remover
Here, I present you the quick guide on porting my project (codename: OTX) which is capable of removing bloatwares that are selectable by the user in the aroma-installer. You may think that this script has already been made for your device. But you can notice a new thing in my project that it is user selectable. Nobody has made it till now. I think it is because of the limitations in the aroma installer that made people stop working on this very type of project. I too had the same feel when I was working on it. I asked my friends, posted on facebook, asked a question on aroma-installer thread but no support came from any of them. So I figured it out myself and made the project. And now, let me not make you feel bored and start the work. Download the file from my original thread. Link: Click here to view thread If you use Samsung Galaxy Y, you can directly download and use it. I have made this guide for other devices. Extract the zip named "signed_OTX_BLOAT.zip" and look into its contents. Now go to META-INF > com > google > android > place_holder In the aroma-config, you will see something like this: Code: ################### #Install Select box ################### checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox.prop", "Select what you want", "", 2, "<b>Alert Recipients</b>","", 0, "<b>AxT9IME</b>","", 0, "<b>Bluetooth</b>","", 0, "<b>Bluetooth Pbap</b>","", 0, "<b>Bluetooth Test Mode</b>","", 0, "<b>Browser</b>","", 0, "<b>Calculator</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox1.prop", "Select what you want", "", 2, "<b>Calendar</b>","", 0, "<b>Calendar Provider</b>","", 0, "<b>Clock Widget</b>","", 0, "<b>Default Container Service</b>","", 0, "<b>Desk Clock</b>","", 0, "<b>Dual Clock</b>","", 0, "<b>Email</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox2.prop", "Select what you want", "", 2, "<b>Email Widget</b>","", 0, "<b>Factory Test</b>","", 0, "<b>Fm Radio</b>","", 0, "<b>Fotaclient</b>","", 0, "<b>Gallery 3D</b>","", 0, "<b>Genie Widget</b>","", 0, "<b>Gmail</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox3.prop", "Select what you want", "", 2, "<b>Google Backup Transport</b>","", 0, "<b>Google Calendar Sync Adapter</b>","", 0, "<b>Google Contacts Sync Adapter</b>","", 0, "<b>Google Feedback</b>","", 0, "<b>Google Quick Search Box</b>","", 0, "<b>Google Services Framework</b>","", 0, "<b>HTML Viewer</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox4.prop", "Select what you want", "", 2, "<b>Job Manager</b>","", 0, "<b>lcdtest</b>","", 0, "<b>Live Wallpapers Picker</b>","", 0, "<b>Maps</b>","", 0, "<b>Market Updater</b>","", 0, "<b>Media Uploader</b>","", 0, "<b>Memo</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox5.prop", "Select what you want", "", 2, "<b>Mobile Tracker Engine Two</b>","", 0, "<b>Music</b>","", 0, "<b>My Files</b>","", 0, "<b>Network Location</b>","", 0, "<b>PCWClientS</b>","", 0, "<b>Phonesky</b>","", 0, "<b>PicoTts</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox6.prop", "Select what you want", "", 2, "<b>PopupuiReceiver</b>","", 0, "<b>PowerOnOffTest</b>","", 0, "<b>Protips</b>","", 0, "<b>Quickoffice</b>","", 0, "<b>Samsung Apps</b>","", 0, "<b>Samsung Apps UNA2</b>","", 0, "<b>Samsung Apps UNA3</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox7.prop", "Select what you want", "", 2, "<b>Samsung Widget_ProgramMonitor</b>","", 0, "<b>Samsung Widget_StockClock</b>","", 0, "<b>Samsung Widget_WeatherClock</b>","", 0, "<b>Screen Capture Service</b>","", 0, "<b>Security Provider</b>","", 0, "<b>SelfTest</b>","", 0, "<b>Share App</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox8.prop", "Select what you want", "", 2, "<b>signin</b>","", 0, "<b>SnsAccount</b>","", 0, "<b>SnsProvider</b>","", 0, "<b>Stk</b>","", 0, "<b>Street</b>","", 0, "<b>Swype</b>","", 0, "<b>syncmldm</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox9.prop", "Select what you want", "", 2, "<b>syncmlds</b>","", 0, "<b>TalkorHangouts</b>","", 0, "<b>talkback</b>","", 0, "<b>TtsService</b>","", 0, "<b>TwWallpaperChooser</b>","", 0, "<b>UnifiedInbox</b>","", 0, "<b>UserDictionaryProvider</b>","", 0 ); checkbox("","<b>Bloatware Remover</b>", "@alert", "checkbox10.prop", "Select what you want", "", 2, "<b>VoiceRecorder</b>","", 0, "<b>VoiceSearch</b>","", 0, "<b>VpnServices</b>","", 0, "<b>wipereceiver</b>","", 0, "<b>WlanTest</b>","", 0, "<b>wssyncmlnps</b>","", 0, "<b>YouTube</b>","", 0 ); In aroma-config, change the names of the applications that you want to include as bloatware and make sure these apps are safe to be removed and does not cause any stability issues to the device. I have declared more separate checkboxes for giving the selection. It is because of the limitation in aroma-installer. You will surely think that it has more number of pages are there for selection. But it is far better than typing one by one that you want to delete. I have made 7 selection per checkbox concept. After I made the script and published, I heard that there is upto 10 selection per checkbox option. I don't know whether it is true or not because I haven't tried it yet. You can try it out and if it works, then great. Make a note of the order of the applications written here because correspondingly you are going to delete the bloatwares. Also give separate names for these checkboxes. I have just named it checkbox1.prop, checkbox2.prop, ..., etc. Youi can give any name. But make sure you remember it. After making changes, just save the file and exit. In the file updater-script, you will see something like this: Code: if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.1") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/AlertRecipients.apk"); delete("/system/app/AlertRecipients.odex"); ui_print("-> Done"); endif; if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.2") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/AxT9IME.apk"); delete("/system/app/AxT9IME.odex"); ui_print("-> Done"); endif; if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.3") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/Bluetooth.apk"); delete("/system/app/Bluetooth.odex"); ui_print("-> Done"); endif; if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.4") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/BluetoothPbap.apk"); delete("/system/app/BluetoothPbap.odex"); ui_print("-> Done"); endif; if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.5") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/BluetoothTestMode.apk"); delete("/system/app/BluetoothTestMode.odex"); ui_print("-> Done"); endif; if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.6") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/Browser.apk"); delete("/system/app/Browser.odex"); ui_print("-> Done"); endif; if file_getprop("/tmp/aroma-data/checkbox.prop","item.1.7") == "1" then show_progress(0.1, 0); package_extract_file("busybox", "/tmp/busybox"); set_perm(0, 0, 0777, "/tmp/busybox"); run_program("/tmp/busybox", "mount", "/system"); run_program("/tmp/busybox", "mount", "/data"); delete("/system/app/Calculator.apk"); delete("/system/app/Calculator.odex"); ui_print("-> Done"); endif; show_progress(0.100000, 0); ui_print("The process is complete. Reboot the system to use"); ui_print(" "); ui_print("Made by: the_pirate_predator"); In updater-script, give the names of the checkboxes inside if-loop condition and using item number to check on the selectable options which are inside these checkboxes. Due to limitation of aroma-installer, the item numbers are from item.1.1 to item.1.7. If the limitation is 10, you can try to implement it. Also I recommend using busybox for running this script. You can place it along with META-INF folder at the beginning by creating a folder with a name called tmp. I have made a mistake in my package by not putting it inside the tmp folder, but you should do it. But for me, it still works. After making changes, just save the file and exit. Now a important part comes to play in making this project suitable for your device. As I have used update-binary for my device (obtained from hells kernel for sgy) it runs perfectly on my device. If you can find a previously made program which uses aroma for your device, you can copy that. If you dont have such files, then try to get the file from aroma installer itself http://forum.xda-developers.com/devdb/project/?id=330#downloads by extracting the zip and replacing that file in the project. Just try it out. Till then I will search for any alternative (if required). Now after doing everything, repack the zip properly and sign it using dsixda's android kitchen and check everything is proper and error less. Now test your device and if it works, just give a credit. Report problems and I will try my level best to correct it. I think I have explained everything clearly.
A Pictograph Goto my website and click on the link. { "lightbox_close": "Close", "lightbox_next": "Next", "lightbox_previous": "Previous", "lightbox_error": "The requested content cannot be loaded. Please try again later.", "lightbox_start_slideshow": "Start slideshow", "lightbox_stop_slideshow": "Stop slideshow", "lightbox_full_screen": "Full screen", "lightbox_thumbnails": "Thumbnails", "lightbox_download": "Download", "lightbox_share": "Share", "lightbox_zoom": "Zoom", "lightbox_new_window": "New window", "lightbox_toggle_sidebar": "Toggle sidebar" } Download the zip file Extract the zip file After extracting the zip, you will see something like this. Goto META-INF > com > google > android > place_holder Inside aroma-config
Ignore my last message, I was figuring stuff out lol First try: used an updater-binary which I have used before to make an aroma zip. Failed to execute updater-binary in recovery. Got it working now. thank you for your work
[GUIDE] [TUT] Enable Bootanimation Sound On/Off Device For CyanogenMod - LineageOS
Today Present way to enable sounds at bootanimations turn on/off device if you open that file named bootanimation in system/bin, will find the way and follow, i have prepared the guide for cyanogenmod lollipop & marshmallow & nougat Let's StartMarshmallow & Lollipop :just i explain to you how to find it go to system/bin and open bootanimation will conclude the following : 1 - codec for audio file must be [only 16 bit WAV files are supported] 2 - file will put in system/media [boot.wav & shutdown.wav] 3 - file zip will be named [shutdownanimation.zip & bootanimation.zip] 4 - open your build prob and add this lines PHP: ro.config.power_on=boot.wav ro.config.power_off=shutdown.wav Nougat :just i explain to you how to find it go to system/bin and open bootanimation will conclude the following : 1 - codec for audio file must be .wav 2 - file will put in system/media [audio.wav] 3 - file zip will be named [bootanimation.zip] 4 - open your build prob and add this lines PHP: ro.config.power_on=boot.wav ro.config.power_off=shutdown.wav persist.sys.bootanim.play_sound=true marshmallow & lollipop guide may work with some of nougat's roms app help you to get and set audio file 16 bit WAV Guide not confusing, it's very easy just put audio files and lines in build prob, guide long because i explaining with details Updater Script for Patching PHP: ui_print("Installing Patch Boot Audio..."); run_program("/sbin/busybox", "mount", "/system"); show_progress(1, 15); delete("/system/media/shutanimation.zip"); delete("/system/media/boot.wav"); delete("/system/media/bootanimation.zip"); delete("/system/media/shutdown.wav"); delete("/system/media/shutdownanimation.zip"); package_extract_dir("system", "/system"); show_progress(1, 15); ui_print("Setting metadata..."); 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/bootanimation", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootanim_exec:s0"); set_metadata_recursive("/system/media", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); run_program("/sbin/busybox", "umount", "/system"); ui_print("Done!"); Download files audio and bootanimation for testing Support me, don't forget to hit thanks button
well-done
Nice