[ROM] ~~~ Stock 2.08.651.2 With HTC/Sprint Spyware Removed (10/2/11) ~~~

Search This thread

xHausx

Inactive Recognized Developer
Jul 5, 2010
6,778
4,518
Central Florida
When the update came out with cIQ added in I planned on making myself a stockish ROM with it removed, as usual (it was present on the Evo 4G so I figured no biggie). Well, let's just say it was quite a bit more work than what I was anticipating lol

This ROM is completely stock aside from being deodexed and gutted of all HTC and Sprint's spyware. There is still a ton more that needs to be removed for it to run 'cleanly', but I believe all of the unnecessary logging has been disabled and what's still left shouldn't cause stability issues. I've been running it for a couple of weeks now without issues but if you encounter any please let me know.

 
Last edited:

xHausx

Inactive Recognized Developer
Jul 5, 2010
6,778
4,518
Central Florida
These are my notes I made while making and testing this but they may not be 100% accurate.

Stock to 0.4.2
REMOVED
/system/app/CheckinProvider.apk
/system/app/HtcIQAgent.apk
/system/app/HtcFeedback.apk
/system/app/HtcLoggers.apk
/system/app/IQRD.apk
/system/app/MyReportAgent.apk
/system/app/QXDM2SD.apk

/system/bin/debuggered
/system/bin/htc_ebdlogd
/system/bin/htcipcd
/system/bin/iqd
/system/bin/iqfd

/system/lib/libciq_client.so
/system/lib/libciq_htc.so
/system/lib/libhtciqagent.so
/system/lib/libhtc_loggers.so
/system/lib/libhtcqxdm2sd.so

/system/etc/iqprofile.pro
build.prop Edits
Remarked
# For FOTA setting (leave empty value to use default)
#ro.htc.checkin.url = http://andchin.htc.com/android/checkin
#ro.htc.checkin.crashurl = http://andchin.htc.com/android/crash
#ro.htc.checkin.url_CN = http://andchin.htccomm.com.cn/android/checkin
#ro.htc.checkin.crashurl_CN = http://andchin.htccomm.com.cn/android/crash
#ro.htc.checkin.exmsg.url = http://fotamsg.htc.com/android/extra/
#ro.htc.checkin.exmsg.url_CN = http://fotamsg.htccomm.com.cn/android/extra/
#ro.htc.appupdate.url = http://apu-chin.htc.com/check-in/rws/and-app/update
#ro.htc.appupdate.url_CN = http://apu-chin.htccomm.com.cn/check-in/rws/and-app/update
#ro.htc.appupdate.exmsg.url = http://apu-msg.htc.com/extra-msg/rws/and-app/msg
#ro.htc.appupdate.exmsg.url_CN = http://apu-msg.htccomm.com.cn/extra-msg/rws/and-app/msg

Added
ro.config.htc.nocheckin=1
ro.config.nocheckin=1
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
ro.htc.checkin.url = 127.0.0.1
ro.htc.checkin.crashurl = 127.0.0.1
ro.htc.checkin.url_CN = 127.0.0.1
ro.htc.checkin.crashurl_CN = 127.0.0.1
ro.htc.checkin.exmsg.url = 127.0.0.1
ro.htc.checkin.exmsg.url_CN = 127.0.0.1
ro.htc.appupdate.url = 127.0.0.1
ro.htc.appupdate.url_CN = 127.0.0.1
ro.htc.appupdate.exmsg.url = 127.0.0.1
ro.htc.appupdate.exmsg.url_CN = 127.0.0.1
RAMDISK
  • bootcomplete.rc
    Code:
    rm -r /app-cache/ciq
    rm -r /app-cache/iqserver
    rm -r /data/data/com.htc.loggers
    rm -r /data/data/com.android.providers.htcCheckin
    rm -r /data/system/dropbox
    rm -r /data/system/usagestats
    rm -r /data/system/appusagestats
    rm /data/system/userbehavior*.*
  • init.rc
    Code:
    # Set error receiver
    #    setprop ro.error.receiver.htc.apps com.htc.feedback
    
    #service debuggerd /system/bin/debuggerd
  • init.shooter.rc
    Code:
    #for CIQ ipc
    #mkdir /app-cache/ciq 0711 root system
    #mkdir /app-cache/ciq/socket 0777 root system
    
    # HTC IPC server
    #service htcipcd /system/bin/htcipcd
    #    user root
    #    group root system
    
    # CIQ backend daemon
    #service iqd /system/bin/iqd
    #    user root
    #    group root system
    
    # CIQ frontend daemon
    #service iqfd /system/bin/iqfd
    #    user root
    #    group root system
    
    #on property:ril.iq.quickboot=1
    #    start iqfd
    #    start iqd
    
    #service htc_ebdlogd /system/bin/htc_ebdlogd -s -k -P 7
    #    user root
    #    disabled
    #    oneshot
    #    ioprio idle 0
    
    #service htc_ebdlogd_rel /system/bin/htc_ebdlogd -s -k
    #    user root
    #    disabled
    #    oneshot
    #    ioprio idle 0
    
    #on property:ro.build.tags=test-keys
    #    start htc_ebdlogd
    
    #on property:ro.build.tags=release-keys
    #    start htc_ebdlogd_rel
App Edits
(Note: This was removed from the ROM due to UID issues)
  • /system/app/Rosie.apk
    1. /com/htc/launcher/LauncherModel.smali
      Code:
      Add "goto :cond_1" after ":try_start_0"
Framework Edits
  • /system/framework/Framework.jar
    1. /com/htc/utils/ulog/ULog.smali
      Code:
      Replace "invoke-static {}, Lcom/htc/utils/ulog/ULog;->init()V" with "goto :goto_0" 3x
    2. com/htc/profiletag/TellHtcController.smali
      Code:
      Under .method static constructor <clinit>()V...
      Line 8: v8 = 0x0
      Line 53: v0 = 0x0
      .method public static isDisableErrorRport()Z Returns 1
      .method public static isDisableUlog()Z Returns 1
      .method public static isEnableAutoSend()Z Returns 0
    3. com/htc/htcjavaflag/HtcBuildFlag.smali
      Code:
      .field public static final HtcCIQFlag:Z set to False
    4. /com/android/internal/app/IHtcAppUsageStatsService$Stub.smali
      Code:
      Replace entire method .method public static asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IHtcAppUsageStatsService;
      With:
      .locals 1
      const/4 p0, 0x0
      return-object p0
    5. /com/android/internal/app/IUsageStats$Stub
      Code:
      Replace entire method .method public static asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IUsageStats;
      With:
      .locals 1
      const/4 p0, 0x0
      return-object p0
    6. /android/provider/htcCheckin.smali
      Code:
      Change the following lines so they use v1 instead...
      sput-boolean v0, Landroid/provider/htcCheckin;->bCHECKIN:Z
      sput-boolean v0, Landroid/provider/htcCheckin;->bGOOGLE_CHECKIN:Z
    7. /android/net/http/htchttpiqagent.smali
      Code:
      Change .field public static final CIQVersion:Ljava/lang/String; = "1.1.1" to "9.9.9"
      Change .field static final enableCIQ:Z to False
      Set v2 to 0x0 as beginning of ".method static constructor <clinit>()V"
      Have .method public static getCIQFlag()Z return 0
    8. /android/media/MediaCIQ
      Code:
      In .method public static enableCIQ(Ljava/lang/String;)Z...
      Under :cond_0 set v1 to 0x0
    9. /com/android/internal/telephony/SMSDispatcher.smali
      Code:
      Set .field public static final COMPILE_OPTION_CIQ_SUPPORT:Z to False
  • /system/framework/Services.jar
    1. /com/android/server/ulog/Utils.smali
      Code:
      In .method static isTellHtcEnableAutoSend(Landroid/content/Context;)Z set v3 to 0x0 after .prologue
      In .method static isUserProfilingSettingEnabled(Landroid/content/Context;)Z set v3 to 0x0 after .prologue
    2. /com/android/server/ulog/UserBehaviorLoggingService.Smali
      Code:
      In .method public constructor <init>(Landroid/content/Context;)V set v0 to 0x0 at beginning
    3. /com/android/server/ulog/PolicyStore$DefaultPolicyLoader.smali
      Code:
      ==================NEEDS ANOTHER SOLUTION=========================
      Replace all instances of "1" with "2"
      ==================NEEDS ANOTHER SOLUTION=========================
      Replace 175.41.155.212 and 175.41.164.137 with 127.0.0.1
    4. /com/android/server/ServerThread.smali
      Code:
      ==================NEED TO REMOVE THIS ENTIRE LINE=========================
      Change AddService to DeleteService after "invoke-direct {v9, v6, v10}, Lcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;)V"
      ==================NEED TO REMOVE THIS ENTIRE LINE=========================
    5. /com/android/server/am/HtcAppUsageStatsService.smali
      Code:
      Replace the methods notePackageRemoved, notePauseActivity, noteRecentTaskChange, noteResumeActivity, noteResumeActivity_pkg and publish with:
      .locals 0
      return-void
 
Last edited:

solver404

Senior Member
Jul 20, 2007
1,863
1,787
The Boro
Thanks for everything you do around here, man. TrevE, special thanks also. :D

Edit: and there is 1000.
 
Last edited:
  • Like
Reactions: xHausx

lchupacabras

Senior Member
Aug 21, 2009
426
59
Thanks so much for this! My phone's been so unstable lately I've been wanting to run something stock but all the security holes were holding me back. Thanks again sir, good looking out.
 

wwjoshdew

Inactive Recognized Contributor
Dec 30, 2008
1,389
1,400
Seattle
tinyurl.com
Guess I can delete the deodexed one on my sdcard. I saw that a few nights ago and was pissed. I'm running cm7 alpha 3, so I have nothing to worry about. But if I really want to go back to the htc rom, I will definitely be using this! Thanks!

---------- Post added at 09:43 PM ---------- Previous post was at 09:36 PM ----------

I've downloaded this 3 times and keep getting a bad md5.


Edit: Figured out Win 7 64bit did not play nice. DL with XP worked fine.

dude, I use firefox and DownThemAll! It gives you an option to enter the md5 or whatever else. Then it verifies at the end! It said everything was fine. And I use Windows 7 as well.

2uzfnmg.jpg
 
  • Like
Reactions: zelpus

xHausx

Inactive Recognized Developer
Jul 5, 2010
6,778
4,518
Central Florida
What do you mean stock 0.4.2?


Via My HTC Evo 3D On The Now Network From Sprint.
Those are just so I can keep track of them, the ROM itself is based on the 2.08 RUU.

Thank you for all the hard work xhausx!

Question, I've already done the modified stock kernal from 'freeza' ( http://forum.xda-developers.com/showthread.php?t=1224659 ) which removes cIQ (Carrier IQ) backend/frontend/misc from the kernel and includes init.d support. Does your ROM do the same thing?

Thanks!
The stock zImage is intact but I've modified the RAMdisk to match the changes I've made to the rest of the ROM. It will no longer try to start any of the logging/cIQ services and it set up to delete any log data that is left over while prevent anything new from being written. I did leave out init.d support though, so that would need to be added if desired.
 
  • Like
Reactions: NewZJ

Top Liked Posts

  • There are no posts matching your filters.
  • 28
    When the update came out with cIQ added in I planned on making myself a stockish ROM with it removed, as usual (it was present on the Evo 4G so I figured no biggie). Well, let's just say it was quite a bit more work than what I was anticipating lol

    This ROM is completely stock aside from being deodexed and gutted of all HTC and Sprint's spyware. There is still a ton more that needs to be removed for it to run 'cleanly', but I believe all of the unnecessary logging has been disabled and what's still left shouldn't cause stability issues. I've been running it for a couple of weeks now without issues but if you encounter any please let me know.

    9
    These are my notes I made while making and testing this but they may not be 100% accurate.

    Stock to 0.4.2
    REMOVED
    /system/app/CheckinProvider.apk
    /system/app/HtcIQAgent.apk
    /system/app/HtcFeedback.apk
    /system/app/HtcLoggers.apk
    /system/app/IQRD.apk
    /system/app/MyReportAgent.apk
    /system/app/QXDM2SD.apk

    /system/bin/debuggered
    /system/bin/htc_ebdlogd
    /system/bin/htcipcd
    /system/bin/iqd
    /system/bin/iqfd

    /system/lib/libciq_client.so
    /system/lib/libciq_htc.so
    /system/lib/libhtciqagent.so
    /system/lib/libhtc_loggers.so
    /system/lib/libhtcqxdm2sd.so

    /system/etc/iqprofile.pro
    build.prop Edits
    Remarked
    # For FOTA setting (leave empty value to use default)
    #ro.htc.checkin.url = http://andchin.htc.com/android/checkin
    #ro.htc.checkin.crashurl = http://andchin.htc.com/android/crash
    #ro.htc.checkin.url_CN = http://andchin.htccomm.com.cn/android/checkin
    #ro.htc.checkin.crashurl_CN = http://andchin.htccomm.com.cn/android/crash
    #ro.htc.checkin.exmsg.url = http://fotamsg.htc.com/android/extra/
    #ro.htc.checkin.exmsg.url_CN = http://fotamsg.htccomm.com.cn/android/extra/
    #ro.htc.appupdate.url = http://apu-chin.htc.com/check-in/rws/and-app/update
    #ro.htc.appupdate.url_CN = http://apu-chin.htccomm.com.cn/check-in/rws/and-app/update
    #ro.htc.appupdate.exmsg.url = http://apu-msg.htc.com/extra-msg/rws/and-app/msg
    #ro.htc.appupdate.exmsg.url_CN = http://apu-msg.htccomm.com.cn/extra-msg/rws/and-app/msg

    Added
    ro.config.htc.nocheckin=1
    ro.config.nocheckin=1
    profiler.force_disable_err_rpt=1
    profiler.force_disable_ulog=1
    ro.htc.checkin.url = 127.0.0.1
    ro.htc.checkin.crashurl = 127.0.0.1
    ro.htc.checkin.url_CN = 127.0.0.1
    ro.htc.checkin.crashurl_CN = 127.0.0.1
    ro.htc.checkin.exmsg.url = 127.0.0.1
    ro.htc.checkin.exmsg.url_CN = 127.0.0.1
    ro.htc.appupdate.url = 127.0.0.1
    ro.htc.appupdate.url_CN = 127.0.0.1
    ro.htc.appupdate.exmsg.url = 127.0.0.1
    ro.htc.appupdate.exmsg.url_CN = 127.0.0.1
    RAMDISK
    • bootcomplete.rc
      Code:
      rm -r /app-cache/ciq
      rm -r /app-cache/iqserver
      rm -r /data/data/com.htc.loggers
      rm -r /data/data/com.android.providers.htcCheckin
      rm -r /data/system/dropbox
      rm -r /data/system/usagestats
      rm -r /data/system/appusagestats
      rm /data/system/userbehavior*.*
    • init.rc
      Code:
      # Set error receiver
      #    setprop ro.error.receiver.htc.apps com.htc.feedback
      
      #service debuggerd /system/bin/debuggerd
    • init.shooter.rc
      Code:
      #for CIQ ipc
      #mkdir /app-cache/ciq 0711 root system
      #mkdir /app-cache/ciq/socket 0777 root system
      
      # HTC IPC server
      #service htcipcd /system/bin/htcipcd
      #    user root
      #    group root system
      
      # CIQ backend daemon
      #service iqd /system/bin/iqd
      #    user root
      #    group root system
      
      # CIQ frontend daemon
      #service iqfd /system/bin/iqfd
      #    user root
      #    group root system
      
      #on property:ril.iq.quickboot=1
      #    start iqfd
      #    start iqd
      
      #service htc_ebdlogd /system/bin/htc_ebdlogd -s -k -P 7
      #    user root
      #    disabled
      #    oneshot
      #    ioprio idle 0
      
      #service htc_ebdlogd_rel /system/bin/htc_ebdlogd -s -k
      #    user root
      #    disabled
      #    oneshot
      #    ioprio idle 0
      
      #on property:ro.build.tags=test-keys
      #    start htc_ebdlogd
      
      #on property:ro.build.tags=release-keys
      #    start htc_ebdlogd_rel
    App Edits
    (Note: This was removed from the ROM due to UID issues)
    • /system/app/Rosie.apk
      1. /com/htc/launcher/LauncherModel.smali
        Code:
        Add "goto :cond_1" after ":try_start_0"
    Framework Edits
    • /system/framework/Framework.jar
      1. /com/htc/utils/ulog/ULog.smali
        Code:
        Replace "invoke-static {}, Lcom/htc/utils/ulog/ULog;->init()V" with "goto :goto_0" 3x
      2. com/htc/profiletag/TellHtcController.smali
        Code:
        Under .method static constructor <clinit>()V...
        Line 8: v8 = 0x0
        Line 53: v0 = 0x0
        .method public static isDisableErrorRport()Z Returns 1
        .method public static isDisableUlog()Z Returns 1
        .method public static isEnableAutoSend()Z Returns 0
      3. com/htc/htcjavaflag/HtcBuildFlag.smali
        Code:
        .field public static final HtcCIQFlag:Z set to False
      4. /com/android/internal/app/IHtcAppUsageStatsService$Stub.smali
        Code:
        Replace entire method .method public static asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IHtcAppUsageStatsService;
        With:
        .locals 1
        const/4 p0, 0x0
        return-object p0
      5. /com/android/internal/app/IUsageStats$Stub
        Code:
        Replace entire method .method public static asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IUsageStats;
        With:
        .locals 1
        const/4 p0, 0x0
        return-object p0
      6. /android/provider/htcCheckin.smali
        Code:
        Change the following lines so they use v1 instead...
        sput-boolean v0, Landroid/provider/htcCheckin;->bCHECKIN:Z
        sput-boolean v0, Landroid/provider/htcCheckin;->bGOOGLE_CHECKIN:Z
      7. /android/net/http/htchttpiqagent.smali
        Code:
        Change .field public static final CIQVersion:Ljava/lang/String; = "1.1.1" to "9.9.9"
        Change .field static final enableCIQ:Z to False
        Set v2 to 0x0 as beginning of ".method static constructor <clinit>()V"
        Have .method public static getCIQFlag()Z return 0
      8. /android/media/MediaCIQ
        Code:
        In .method public static enableCIQ(Ljava/lang/String;)Z...
        Under :cond_0 set v1 to 0x0
      9. /com/android/internal/telephony/SMSDispatcher.smali
        Code:
        Set .field public static final COMPILE_OPTION_CIQ_SUPPORT:Z to False
    • /system/framework/Services.jar
      1. /com/android/server/ulog/Utils.smali
        Code:
        In .method static isTellHtcEnableAutoSend(Landroid/content/Context;)Z set v3 to 0x0 after .prologue
        In .method static isUserProfilingSettingEnabled(Landroid/content/Context;)Z set v3 to 0x0 after .prologue
      2. /com/android/server/ulog/UserBehaviorLoggingService.Smali
        Code:
        In .method public constructor <init>(Landroid/content/Context;)V set v0 to 0x0 at beginning
      3. /com/android/server/ulog/PolicyStore$DefaultPolicyLoader.smali
        Code:
        ==================NEEDS ANOTHER SOLUTION=========================
        Replace all instances of "1" with "2"
        ==================NEEDS ANOTHER SOLUTION=========================
        Replace 175.41.155.212 and 175.41.164.137 with 127.0.0.1
      4. /com/android/server/ServerThread.smali
        Code:
        ==================NEED TO REMOVE THIS ENTIRE LINE=========================
        Change AddService to DeleteService after "invoke-direct {v9, v6, v10}, Lcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;)V"
        ==================NEED TO REMOVE THIS ENTIRE LINE=========================
      5. /com/android/server/am/HtcAppUsageStatsService.smali
        Code:
        Replace the methods notePackageRemoved, notePauseActivity, noteRecentTaskChange, noteResumeActivity, noteResumeActivity_pkg and publish with:
        .locals 0
        return-void
    3
    Reserved....
    2
    Does this include the radios or should I get that from your other post?

    This is just the ROM, the radios will still need to be updated separate.
    2
    Thanks alot xHausx for the awesome words and providing a stock option for everyone - good stuff!