CTA认证system_process定位联网未明示问题

针对高通7.1系统在开机时出现不明联网和定位的现象,通过ADB工具发现com.qualcomm.location.XT进程是问题源头。解决方法包括不编译xtra_t_app.apk,配置CTA相关属性,加入WAPI证书,以及通过LocationManagerService.java的调试开关分析定位进程。此外,使用tcpdump和DDMS辅助排查和验证,连接手机热点进行测试。

问题描述:

高通7.1系统开机过程中会莫名的联网,或者定位。由于不知道实验室的测试手法,也没有相关的log,看到这个问题只能一脸蒙B。

解决方法:

用adb shell ps命令查看系统进程,发现有com.qualcomm.location.XT进程,这个进程会进行联网定位。而这个进行其它就是xtra_t_app.apk。这个apk在国内是不会起作用的,我们只要不编译这个apk就可以了。修改如下:

diff --git a/vendor/qcom/proprietary/common/config/device-vendor.mk b/vendor/qcom/proprietary/common/config/device-vendor.mk
index 16b6d0f..e9f4547 100755
--- a/vendor/qcom/proprietary/common/config/device-vendor.mk
+++ b/vendor/qcom/proprietary/common/config/device-vendor.mk
@@ -423,7 +423,7 @@ GPS += izat.conf
 GPS += sap.conf
 GPS += com.qualcomm.location.vzw_library.xml
 GPS += libloc_ext
-GPS += xtra_t_app
+#GPS += xtra_t_app
 GPS += com.qualcomm.location.vzw_library
 GPS += libgeofence
 GPS += libflp
@@ -465,9 +465,9 @@ GPS += libasn1cper
 GPS += libasn1crtx
 GPS += location-mq
 GPS += xtra_root_cert.pem
-GPS += xtwifi-client
+#GPS += xtwifi-client
 GPS += xtwifi.conf
-GPS += xtwifi-inet-agent
+#GPS += xtwifi-inet-agent
 GPS += xtwifi-upload-test
 GPS += test-fake-ap
 GPS += test-pos-tx

在这里记录下CTA认证的修改配置。

1.高通7.1的代码是有相关CTA的配置的,在代码中我们只要预装CSM应用并且配置如下属性:

persist.sys.strict_op_enable=true
persist.radio.phone.matchnum=11

2.加入WAPI认证证书

diff --git a/device/qcom/sepolicy/common/file.te b/device/qcom/sepolicy/common/file.te
index 15e2e2f..71103e8 100755
--- a/device/qcom/sepolicy/common/file.te
+++ b/device/qcom/sepolicy/common/file.te
@@ -200,6 +200,9 @@ type wififtmd_socket, file_type;
 
 type persist_alarm_file, file_type;
 
+#WAPI
+type wapi_data_file, file_type, data_file_type;
+
 type persist_time_file, file_type;
 
 # Type for Goodix fingerprint template file.
diff --git a/device/qcom/sepolicy/common/file_contexts b/device/qcom/sepolicy/common/file_contexts
index e2b7551..8de8f8f 100755
--- a/device/qcom/sepolicy/common/file_contexts
+++ b/device/qcom/sepolicy/common/file_contexts
@@ -347,6 +347,7 @@
 /data/system/swap(/.*)?                                             u:object_r:swap_data_file:s0
 /data/misc/wifi/wigig_sockets(/.*)?                                 u:object_r:wpa_socket:s0
 /data/misc/wifi/wigig_sockets/wpa_ctrl.*                            u:object_r:system_wpa_socket:s0
+/data/misc/wapi_certificate                                         u:object_r:wapi_data_file:s0
 /data/app-regional(/.*)?                                            u:object_r:regionalization_data_file:s0
 ###################################
 # persist files

3.删除掉vendor\qcom\proprietary\qrdplus\China\CTA\config\exclude.list文件中的apk就可以了。

 

解决方案:

打开LocationManagerService.java的调试开关,重新编译,重启开机看看到低是哪个进程在定位!

以下是未打开位置开关重启的log:
06-27 21:17:53.154  2415  2415 I SystemServer: StartLocationManagerService
06-27 21:17:53.158  2415  2415 D LocationManagerService: Constructed
06-27 21:17:54.699  2415  2415 D LocationManagerService: systemRunning()
06-27 21:17:54.750  2415  2415 D LocationManagerService: certificates for location providers pulled from: [com.android.location.fused]
06-27 21:17:54.751  2415  2415 D LocationManagerService: Found fallback provider: com.android.location.fused
06-27 21:17:54.757  2415  2415 E LocationManagerService: no geocoder provider found
06-27 21:17:54.781  2415  2415 D LocationManagerService: request 71951f2 passive Request[POWER_NONE passive fastest=0] from android(1000)
06-27 21:17:54.784  2415  2415 D LocationManagerService: provider request: passive ProviderRequest[ON interval=0]
06-27 21:17:54.794  2415  2415 D LocationManagerService: Unable to bind FusedProxy.
06-27 21:17:54.798  2415  2415 D LocationManagerService: Unable to bind FLP Geofence proxy.
06-27 21:17:54.811  2415  2415 D LocationManagerService: Unable to bind ActivityRecognitionProxy.
以下是打开位置开关重启的有关location的log:
06-27 21:17:53.154  2415  2415 I SystemServer: StartLocationManagerService
06-27 21:17:53.158  2415  2415 D LocationManagerService: Constructed
06-27 21:17:54.699  2415  2415 D LocationManagerService: systemRunning()
06-27 21:17:54.750  2415  2415 D LocationManagerService: certificates for location providers pulled from: [com.android.location.fused]
06-27 21:17:54.751  2415  2415 D LocationManagerService: Found fallback provider: com.android.location.fused
06-27 21:17:54.757  2415  2415 E LocationManagerService: no geocoder provider found
06-27 21:17:54.781  2415  2415 D LocationManagerService: request 71951f2 passive Request[POWER_NONE passive fastest=0] from android(1000)
06-27 21:17:54.784  2415  2415 D LocationManagerService: provider request: passive ProviderRequest[ON interval=0]
06-27 21:17:54.794  2415  2415 D LocationManagerService: Unable to bind FusedProxy.
06-27 21:17:54.798  2415  2415 D LocationManagerService: Unable to bind FLP Geofence proxy.
06-27 21:17:54.811  2415  2415 D LocationManagerService: Unable to bind ActivityRecognitionProxy.
06-27 21:15:02.888  2358  2358 I SystemServer: StartLocationManagerService
06-27 21:15:02.893  2358  2358 D LocationManagerService: Constructed
06-27 21:15:04.668  2358  2358 D LocationManagerService: systemRunning()
06-27 21:15:04.738  2358  2358 D LocationManagerService: certificates for location providers pulled from: [com.android.location.fused]
06-27 21:15:04.740  2358  2358 D LocationManagerService: Found fallback provider: com.android.location.fused
06-27 21:15:04.749  2358  2358 E LocationManagerService: no geocoder provider found
06-27 21:15:04.785  2358  2358 D LocationManagerService: request 4084e21 passive Request[POWER_NONE passive fastest=0] from android(1000)
06-27 21:15:04.787  2358  2358 D LocationManagerService: provider request: passive ProviderRequest[ON interval=0]
06-27 21:15:04.798  2358  2358 D LocationManagerService: Unable to bind FusedProxy.
06-27 21:15:04.801  2358  2358 D LocationManagerService: Unable to bind FLP Geofence proxy.
06-27 21:15:04.826  2358  2358 D LocationManagerService: Unable to bind ActivityRecognitionProxy.
06-27 21:15:11.994  2358  2590 D LocationManagerService: incoming location: Location[fused 30.000000,104.000000 acc=1751198 et=+41s13ms alt=0.0 vel=0.0 bear=81.0 {Bundle[{networkLocationType=cell, com.qualcomm.location.nlp:ready=true}]}]
06-27 21:15:12.020  2358  2590 D LocationManagerService: incoming location: Location[fused 30.000000,104.000000 acc=1751198 et=+41s13ms alt=0.0 vel=0.0 bear=81.0 {Bundle[{networkLocationType=cell, com.qualcomm.location.nlp:ready=true}]}]
06-27 21:15:12.025  2358  2590 D LocationManagerService: This location is marked as ready for broadcast
06-27 21:15:12.038  2358  2590 D LocationManagerService: incoming location: Location[network 30.000000,104.000000 acc=1751198 et=+41s13ms alt=0.0 vel=0.0 bear=81.0 {Bundle[{networkLocationType=cell, com.qualcomm.location.nlp:ready=true}]}]
06-27 21:15:12.039  2358  2590 D LocationManagerService: incoming location: Location[network 30.000000,104.000000 acc=1751198 et=+41s13ms alt=0.0 vel=0.0 bear=81.0 {Bundle[{networkLocationType=cell, com.qualcomm.location.nlp:ready=true}]}]

从log我们就知道它的一种解决方法就是默认关闭位置开关:

diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index d9515e9..2aa7947 100755
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -44,7 +44,7 @@
          Network location is off by default because it requires
          user opt-in via Setup Wizard or Settings.
     -->
-    <string name="def_location_providers_allowed" translatable="false">gps</string>
+    <string name="def_location_providers_allowed" translatable="false"></string>
     <bool name="assisted_gps_enabled">true</bool>
     <bool name="def_netstats_enabled">true</bool>
     <bool name="def_usb_mass_storage_enabled">true</bool>

system_process联网未明示的问题,我们需要tcpdump来分析平板具体访问了什么网络,根据访问的网址来查找修改相关的代码,验证这个问题的时候我们可以使用DDMS来测试我们的修改是否起作用。

KKKKKK

还有就是链接我们自己的手机热点

adb shell cat /proc/net/xt_qtaguid/stats

<think>好的,我现在需要处理用户关于寻找“cta_security_jar.jar”文件的信息或下载链接的请求。首先,我需要分析用户提供的内容,看看是否有相关线索。用户提到了两个引用:[^1]是关于SAS代码的,引用了一个本地路径和CSV文件;[^2]是关于Metasploit框架的目录结构,但没有提到cta_security_jar.jar。 接下来,我应该考虑用户可能没有提供的上下文。用户可能在寻找与安全相关的Java库,比如“cta_security_jar.jar”。这可能涉及加密、身份验证或其他安全功能。由于用户提到了Metasploit,可能与渗透测试工具有关,但标准Metasploit目录中没有这个文件,说明它可能是第三方或内部开发的组件。 我需要检查常见的资源库,比如Maven Central、GitHub,或者厂商官方网站。搜索后发现,Maven Central没有这个jar包,GitHub也没有明显匹配的结果。这可能意味着该文件是专有的,或是特定组织内部使用的。用户可能需要联系他们的供应商或查看内部文档。 另外,用户提供的引用中的路径可能指向本地开发环境,建议用户检查本地项目依赖或构建配置文件(如pom.xml或build.gradle),看看是否有相关引用。如果这是内部项目,可能需要联系团队获取。 安全方面,用户需要验证文件的来源,避免下载经验证的jar包,以防恶意软件。建议用户使用杀毒软件扫描现有文件,或通过SHA哈希验证完整性。 总结步骤:1. 检查本地项目配置;2. 联系供应商或内部团队;3. 搜索可信来源;4. 安全验证。需要将这些步骤以清晰的中文回答呈现,并生成相关问题。</think>关于寻找$cta\_security\_jar.jar$文件的信息或下载链接,目前公开渠道暂发现可靠来源。根据您提供的上下文,建议通过以下步骤排查: 1. **检查项目依赖配置** - 查看本地开发环境的构建文件(如$pom.xml$或$build.gradle$),确认是否包含该依赖项声明 - 检查引用中提到的`C:\Users\xu-m\Documents\wrdsas\taqoutput`路径下的项目文件 2. **验证文件来源** - 如果属于企业/机构内部组件,建议联系IT部门获取 - 检查是否存在拼写错误,确认完整文件名是否为$cta\_security\_jar.jar$ 3. **安全注意事项** - 第三方JAR文件需验证数字签名和哈希值,例如: $$ SHA-256 \校验: \ shasum -a 256 cta_security_jar.jar $$ - 避免从非官方渠道下载,防止供应链攻击
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值