[DEV|APPv14] CIQ / HTC & Google Checkin / HTC loggers / Tell HTC Info & Removal
Over the past few weeks there has been alot about these "spyware" services running on our phones. I'm looking for dev input/a single place to document this all. I would also love for HTC to show us the real off switches for everything as they seem to make a big point about "opting out" lately - http://www.xda-developers.com/androi...ta-collection/ This is all obviously more than just tell HTC crash reporting.
The only way I have found to "opt-out" is to make changes below. HARDLY an on/off switch. You can see my analysis of stock logs getting written and processes running even though i "opted out" of everything officially possible here, here , and here
Other devs, please chime in with your findings I also have a more non technical writeup, a poll and visio diagram up in general if you just want a quick and dirty picture of whats going on here
3 reasons I think this is important:
1- Where did I "opt-in" to this? It would be entirely one thing if it was like location, where an agree message pops up, but as for most of these I havent seen anything of the sorts. I would not care in the least if it was apparent.
2- Why does htc/sprint/google whoever need to waste my mobile data (goes through my airave, so its my bandwidth) and CPU cycles/battery logging?
3- Who the hell is getting my data?
Below are the services, and i believe what goes to what.
Google Checkin - /system/app/GoogleServicesFramework.apk. reports to https://android.clients.google.com/checkin see analysis here
-Dropbox Services- I had 500+ files in it including full logcat/dmesg etc. Synced on google checkin.
-App Usage Stats- what apps you use, install, uninstall time used uploaded with dropbox
HTC/Sprint, not sure whose responsible for this. User Behavior Logging Service may be related
-You can see what info the app seems capable of sending here hidden test functions detailed here
Tell HTC - Tell HTC reports App crashes to HTC automatically. Even if you shut this off in htcstetupwizard it still runs and logs data.
remove all old junk and make these methods look exactly like this:
.method public notePackageRemoved(Ljava/lang/String;Ljava/lang/String;)V
.method public notePauseActivity(ILjava/lang/String;)V
.method public noteRecentTaskChange(Lcom/android/server/am/TaskRecord;)V
.method public noteResumeActivity(ILjava/lang/String;ZZ)V
.method public noteResumeActivity_pkg(ILjava/lang/String;Ljava/lang/String;ZZ)V
.method public publish(Landroid/content/Context;)V
.method public registerAppLaunchObserver(Lcom/android/internal/os/IHtcAppLaunchObserver;)V
ril.iq.quickboot=1 - IQ start
# Disable checkin/profiling services
ALL OF THESE MIGHT NOT NEED TO BE REMOVED
id guess at crash/checkin being bad. replace url with http://127.0.0.1 so you dont go to defaults.
# 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
#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
group root system
# CIQ backend daemon
service iqd /system/bin/iqd
group root system
# CIQ frontend daemon
service iqfd /system/bin/iqfd
group root system
service htc_ebdlogd /system/bin/htc_ebdlogd -s -k -P 7
ioprio idle 0
service htc_ebdlogd_rel /system/bin/htc_ebdlogd -s -k
ioprio idle 0
# for vnc
service androidvncserver /system/bin/androidvncserver -a
service usbnet /system/bin/usbnet on
While your in ramdisk, you will want to change default.prop. Here we can hide our bootloader and unlock state from being reported to htc/sprint/google/whoever else. See - http://forum.xda-developers.com/show...&postcount=279 The following two should be set in default.prop:
Thanks guys, im passing out for now ill update more later. Im pretty sure everything to disable all the services are there now, ill get into the places its in ramdisk/etc later.
Hopefully it gets my point across to HTC how freeking hard it is to shut this off, and that we need a real optout? This stuff is hardcoded everywhere, especially Htc App Usage crap, its really not ment to be shut off. It was alot of work tracing these methods all through framework.
My main goal was trying to find that off switch to completely shut it down, that way it wouldn't be running in the background wasting CPU time. I haven't had a chance to look at the kernel yet but framework wise it looks like there are multiple flags that can disable portions of it. A lot of the stuff I found was already covered by TrevE so I'll do my best not to post anything redundant.
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?