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)
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.
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
Hello XDA member, i have little guide to add Aroma In your rom, this guide very easy to use, just need little change, and i gave the clues what you can change and can't change
Ok, to the point of the guide
Download the latest AROMA installer from this thread or my edited Aroma installer here
Then follow these little instructions
loadlang("langs/en.lang");
change "langs/en.lang" to change language, see in the aroma folder
theme("sense");
change "sense" to change aroma theme, see in the aroma folder
Added changelog/features
write your rom features or changelog in this files the file is in META-INF\com\android\google\android\aroma\changelog.txt
Little tutorial
Note :
> "xxx" means the words inside this ""
> you can change all xxx words
Option 1 : Option for select devices
> In aroma-config
);
selectbox(
#-- Title
"xxx", > you can change the "xxx" words
#-- Sub Title
"xxx", > you can change the "xxx" words
#-- Icon: <AROMA Resource Dir>/icons/default.png or <ThemeDir>/icon.default.png
"@default",
#-- Will be saved in /tmp/aroma/mods.prop
"system.prop",
"xxx","", 2, > you can change the "xxx" words
"xxx","xxx",1, > you can change the "xxx" words
"xxx","xxx",0, > you can change the "xxx" words
"xxx","xxx",0 > you can change the "xxx" words
#--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
);
> In updater-script
# xxx
# xxx
if
file_getprop("/tmp/aroma/system.prop","selected.1") == "1"
then
ui_print("xxx");
package_extract_dir("model/p760", "/system");
endif;
> you can change the "xxx" after "package_extract_dir" words depend on your own,
i use p760, which is the file is located in model/p760 folder,
make sure you put the right position of the file,
example :
i want to put "ducati-m3.bin" file in system/vendor/firmware
then that file should be in model/p760/vendor/firmware (look at the folder)
do the same thing for the rest of it
Option 2 : Option for add or remove apps
You can edit what you to install or remove from your rom, i used "Live Wallpapers" and some apps, you can edit yourself
> In aroma-config
checkbox(
"Install apps", > you can change the "xxx" words
"Uncheck items to remove", > you can change the "xxxx" words
"@default", > you can't change the "xxx" words
"remove.prop", > you can't change the "xxxx" words
"Live Wallpapers","",2, > you can change the "xxx" words
"Basic Dreams","",1, > you can change the "xxx" words
"Cosmic Flow","",1, > you can change the "xxx" words
"Photo Table","",1, > you can change the "xxx" words
"Applications","",2, > you can change the "xxx" words
"Carhome.apk","Carhome",1, > you can change the "xxx" words
"Protips.apk","Pro tips",1, > you can change the "xxx" words
"QuickBoot.apk","Quick Boot",1, > you can change the "xxx" words
);
> In updater-script
For install apps
# xxx > you can change the xxx words
# xxx > you can change the xxx words
if
file_getprop("/tmp/aroma/xxx.prop","selected.1") == "1" > you can change the xxx.prop words
then
ui_print("xxxx"); > you can change the "xxx" words
package_extract_file("camera/GoogleCamera.apk", "/system/app/GoogleCamera.apk");
endif;
> you can change the "xxx" after "package_extract_file" words depend on your own,
i use camera, which is the file is located in camera folder, then name of camera app
then i want to install in system/app folder, do the same thing for the rest of it
For remove apps
# xxx > you can change the xxx words
# xxx > you can change the xxx words
if
file_getprop("/tmp/aroma/remove.prop","item.1.1") == "0"
then
delete("/system/app/CarHome");
endif;
> change this "/system/app/CarHome" depend on what you want to remove, i used CarHome app
do the same thing for the rest of it
Last step : Change Updater script for installing rom
=> Step one : Device initial
Fine these lines
assert(getprop("ro.product.device") == "p760" || getprop("ro.build.product") == "p760" || abort("This package is for \"p760\" devices; this is a \"" + getprop("ro.product.device") + "\"."); );
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.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.200000, 0); >until this
Replace those lines with your updater.scirpt until show_progress line
=> Step Two : Format system
Fine these lines
format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.1/by-name/system", "0", "/system");
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.1/by-name/system", "/system");
Replace those lines with your updater.scirpt
=> Step Three : Extracting files and setup symlink
"xxx" means skiping
Fine these lines
ui_print("@ Extracting System Files..");
package_extract_dir("system", "/system");
symlink("../bin/fsck.f2fs", "/system/bin/dump.f2fs");
symlink("../xbin/su", "/system/bin/su");
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",
xxxxx
xxxxx
show_progress(0.600000, 0);
Replace those lines with your updater.scirpt until show_progress line
=> Step Four : Setting permission
"xxx" means skiping
Fine these lines
ui_print("@ Setting Permissions");
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");
xxxx
xxxx
ui_print("@ Done");
ui_print("@ By nasheich");
ui_print("@ If you like this new build");
ui_print("@ Go back to my thread and press THANKS button");
show_progress(1.000000, 0);
unmount("/system");
Replace those lines with your updater.scirpt until unmount("/system"); line
Click to expand...
Click to collapse
Credit :
- amarullz for Aroma Installer
- nasheich for this little guide
Tips and Trick
- For rom under Android 4.4.2 (Kitkar), skip the step 3 and step four,
- After installation, take a log, it's easier if your get installation failed, like status 6, status 7, etc
note : status 0 it's mean working or installation successful
Questions and Answers
Q : Can i use this on my rom ?
A : Yes, this cam be used for any roms
Q : I got error on installation, status 6/7
A : Check your updater.script, there must be something wrong
Q : I've checked it all, look like nothing wrong in updater.script, any idea ?
A : Try another recovery, in some device, aroma didn't work
@Nasheich Xfiles the link to your installer is broken.