五一以来,国产手机受到cmtwg, nkvhu, qhsz等几款恶意软件肆虐。
受影响手机包括魅族,中国移动等国产手机。



5月12日开始有人在百度知道提问cmtwg,5月13日mx吧也有人在发贴。
我接到有问题的手机时间更早,大约就是五一之后。
出现问题的几个牌子的国产手机,似乎存在漏洞,对方可以利用4G网络,自动安插它们的软件到你的设备上。
com.wagd.qhsz的dump


com.wg.cmtwg的dump


自动安装时间点的日志
** ** I ActivityManager: Start proc :com.android.defcontainer/u0a20 for service com.android.defcontainer/.DefaultContainerService
D DefContainer: Copying /storage/emulated//.tm/882a3f6d5466518c3fb5290ada5f2a89 to base.apk
** ** I PackageManager.DexOptimizer: Running dexopt (dex2oat) on: /data/app/vmdl533505310.tmp/base.apk pkg=com.wg.cmtwg isa=arm64 vmSafeMode=false debuggable=false target-filter=interpret-only oatDir = /data/app/vmdl533505310.tmp/oat sharedLibraries=null
** ** V BackupManagerService: restoreAtInstall pkg=com.wg.cmtwg token=d restoreSet=
D DefContainer: Copying /storage/emulated//.tm/60d9d7e3febaf4ba2e3ce177747d76cf to base.apk
** ** I PackageManager.DexOptimizer: Running dexopt (dex2oat) on: /data/app/vmdl722489780.tmp/base.apk pkg=com.wagd.qhsz isa=arm64 vmSafeMode=false debuggable=false target-filter=interpret-only oatDir = /data/app/vmdl722489780.tmp/oat sharedLibraries=null
** ** I ActivityManager: Start proc :com.wg.cmtwg/u0a1** for activity com.wg.cmtwg/com.hikd.nvkhu.MainActivity
** ** I PackageManager.DexOptimizer: Running dexopt (dex2oat) on: /data/app/vmdl722489780.tmp/base.apk pkg=com.wagd.qhsz isa=arm64 vmSafeMode=false debuggable=false target-filter=interpret-only oatDir = /data/app/vmdl722489780.tmp/oat sharedLibraries=null
W System : ClassLoader referenced unknown path: /data/app/com.wg.cmtwg-/lib/arm64
W Settings: Setting development_settings_enabled has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
W Settings: Setting adb_enabled has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
W art : Class sdk.fkgh.hxx.x failed lock verification and will run slower.
W art : Common causes for lock verification issues are non-optimized dex code
W art : and incorrect proguard optimizations.
W art : Class sdk.fkgh.hxx.K failed lock verification and will run slower.
W art : Class sdk.fkgh.hxx.w failed lock verification and will run slower.
W Settings: Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
W Settings: Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
W art : Class sdk.fkgh.hxx.G failed lock verification and will run slower.
D MyService: onStartCommand:
W Settings: Setting development_settings_enabled has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
W Settings: Setting adb_enabled has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
I DpmTcmClient: RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
** ** V BackupManagerService: restoreAtInstall pkg=com.wagd.qhsz token=e restoreSet=
** D Launcher.Model: mAllAppsList.addPackage com.wagd.qhsz
** ** I ActivityManager: START u0 {act=android.intent.action.MAIN flg=0x14800000 cmp=com.wagd.qhsz/com.wagd.gg.MainActivity} from uid on display
** ** I ActivityManager: Start proc :com.wagd.qhsz/u0a1** for activity com.wagd.qhsz/com.wagd.gg.MainActivity
W System : ClassLoader referenced unknown path: /data/app/com.wagd.qhsz-/lib/arm64
W System : ClassLoader referenced unknown path: /data/data/com.qihoo.shielder/files
D MyService: onStartCommand:
I DpmTcmClient: RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
W ResourceType: ResTable_typeSpec entry count inconsistent: given , previously
I art : Compiler allocated 5MB to compile boolean com.qihoo360.mobilesafe.loaded.client.i.transact(int, android.os.Parcel, android.os.Parcel, int)
I System.out: true
I art : Do partial code cache collection, code=20KB, data=30KB
I art : After code cache collection, code=20KB, data=30KB
I art : Increasing code cache capacity to 128KB
** ** I ActivityManager: Process com.wagd.qhsz (pid ) has died
** ** D ActivityManager: cleanUpApplicationRecord --
** ** W ActivityManager: Scheduling restart of crashed service com.wagd.qhsz/com.wagd.gg.MyService in 1000ms
** ** I ActivityManager: Start proc :com.wagd.qhsz/u0a1** for service com.wagd.qhsz/com.wagd.gg.MyService
W System : ClassLoader referenced unknown path: /data/data/com.qihoo.shielder/files
W System : ClassLoader referenced unknown path: /data/app/com.wagd.qhsz-/lib/arm64
D MyService: onStartCommand:
I DpmTcmClient: RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
W ResourceType: ResTable_typeSpec entry count inconsistent: given , previously
I art : Compiler allocated 5MB to compile boolean com.qihoo360.mobilesafe.loaded.client.i.transact(int, android.os.Parcel, android.os.Parcel, int)
上面日志发生了什么?
0. 日志清单之前1分钟内有DpmTcmClient的输出,可能是在下载安装包。
1. PackageManager被调用,启动了DefaultContainer,pid=20763
2. DefaultContainer启动一条线程tid=20780,先后将下载在/sdcard/.tm目录上的安装包
882a3f6d5466518c3fb5290ada5f2a89,60d9d7e3febaf4ba2e3ce177747d76cf
安装上,并且BackupManager恢复数据。
3. AM被调用,启动 com.wg.cmtwg,pid=20812
4. com.wg.cmtwg修改设置development_settings_enabled以及adb_enabled,然后开启http连接。
5. AM被调用,启动 com.wagd.qhsz,pid=21086
6. com.wagd.qhsz修改设置development_settings_enabled以及adb_enabled,然后开启http连接。
7. pid=21086,com.wagd.qhsz.Activity死亡
8. 1分钟后,AM重启com.wagd.qhsz/com.wagd.gg.MyService, pid=22085
9. com.wagd.qhsz/com.wagd.gg.MyService开启http连接。
这几款软件都是动态加载dex,只有发作后才能看到更多东西,和任务逻辑。
下面是我最初接到的手机,发作的情况。
软件会下载各路刷广告的sdk,加载后疯狂开线程刷广告,手机几乎超载运行发热感人激动,直至重启,然后反复无电累死。
发作的手机/sdcard目录下要有如下目录

/data/data/com.wagd.qhsz

/data/data/com.wg.cmtwg

下面列一些com.wagd.qhsz下载的dex反编译后找到的字串:
com.wagd.qhsz
"com.blankj.utilcode.util.PermissionUtils$PermissionActivity"
“http_stat12.guantouyouxi.com”
_235.do d.class "FULIYOUYICHENG"
.apk net.task.InitTask "WG20200430143295" "yy2042901"
.apk net.task.d "qtt://news_detail?from=And-juaiwan-19100503&id=1427705327", "", "com.jifen.qukan"
.apk net.task.e "com.android.browser" "com.eg.android.AlipayGphone" "mBasePackageName"
*.dex com.api.a class: "http://sdktoapi.free-eyepro.com" "ad.vv.sdk"
*.dex com.lo.ca.realtimeweb.kernel.web.ai class: "wzb api inject js next_script_order="
*.dex com.lo.ca.realtimeweb.kernel.web.ak class: "qh api evaluateJavascript_qh---ua="
*.dex h.e class: "--------------------canRunBeiYeSDK-start-----------ADID==>"
*.dex h.i class: "beiyeAPI_" "com.yjl.sdk" "com.yjl.sdk.mango" "com.yjl.sdk.web" "com.yjl.sdk.xinyun" "com.yjl.sdk.baidu" "com.ext.sdk"
大概的工作原理,就是后台webview刷广告api,注入js刷数据刷流量。sdk都注名为anshuan。
下载到的dex文件都重命名后缀.do,编译后oat文件都重命名后缀.dex,如果不会用xxd区分文件格式的话,就在反编译时受阻。
所以期间正好写了一个gui4smali的demo,因为它们实在下载了太多odex。
cmtwg,qhsz,nvkhu在安装自动获取到了所有的权限,包括访问/sdcard,自动加入inet用户组,隐私风险最高级。它们似乎拥有除root和SEandroid外一切有用的权限。可以让删除它们后的手机,后台自动去下载并安装(或者说直接通过4G网络让你的手机下载并安装),安装同时授权一切。设备惹上后扛扛是一块肉鸡,而且隐私风险最高。
五一以来,国产手机受到cmtwg, nkvhu, qhsz等几款恶意软件肆虐。的更多相关文章
- 带你找到五一最省的旅游路线【dijkstra算法推导详解】
前言 五一快到了,小张准备去旅游了! 查了查到各地的机票 因为今年被扣工资扣得很惨,小张手头不是很宽裕,必须精打细算.他想弄清去各个城市的最低开销. [嗯,不用考虑回来的开销.小张准备找警察叔叔说自己 ...
- 五一出门必备的手机APP神器 让你瞬间大开眼界
如今我们手机上有各种各样的软件,但是比较实用的又有哪些呢?所以每次大家都会花上很久的时间去查找满意的软件吧!今天就给大家送上一波福利,因为五一小长假就要到来了,说不定大家会使用到呢! 轻颜相机 轻颜相 ...
- Android Studio 调试各种国产手机经验总结
为何加上“国产”二字呢,因为目前测试时就国产手机存在的安装问题多,而且都很奇葩,不得不说对于开发者时很不友好的. 下面就是个人总结的针对不同的机型调试时出现的问题做的总结: 1.VIVO 手机 解决方 ...
- 关于国产手机(含山寨机)的mrp格式文件使用
目前国内的大多数国产手机(山寨机)均支持MRP格式软件,本文将教你如何测试或安装!(MRP格式游戏,是由[杭州斯凯网络科技有限公司]开发的一种轻量级的虚拟平台MINIJ平台格式文件,用标准的ANSI ...
- 国产手机插入mac os 系统中无法被识别的解决方法
一些国产手机插入mac os 系统中无法被识别,在命令行输入 system_profiler SPUSBDataType在, 然后将魅蓝note的vendor id 添加至 ~/.android/ad ...
- 五一,期待一场这样的旅行,提前预祝Csdner五一快乐
五一,期待一场这样的旅行,提前预祝Csdner五一快乐 五一,你是否期待一次这样的旅行: 住在一间安静优美的小屋,在鸟鸣中起床,推窗有花香铺面而来.早餐过后,在阳光温暖的抚摸里,骑车踏青或光脚奔跑. ...
- GDOI2017 五一游玩记
GDOI2017 到辣! 在五一比赛,成功躲了两天文化课. Day 0 早上睡到挺晚,想着同学在上课,我在睡觉,暗爽... 动车上,拿起电脑就是颓废,打模板!(然而真相是打了两个模板就开始颓了) 一天 ...
- 五一巨献,问答有礼,105QB送给IT互联网界的劳动人民
活动主题:五一巨献,问答有礼,105QB送给IT互联网界的劳动人民活动时间:4月30日晚上10点~5月2日晚上10点活动期数:第1期,20150401 奖品:105QB获奖人数:20人1~5:每人10 ...
- Python 爬取 13 个旅游城市,告诉你五一大家最爱去哪玩?
五一假期已经结束,小伙伴是不是都还没有玩过瘾?但是没办法,还有很多bug等着我们去写,同样还有需要money需要我们去赚.为了生活总的拼搏. 今年五一放了四天假,很多人不再只是选择周边游,因为时间充裕 ...
随机推荐
- Nacos - 阿里开源配置中心
配置中心相信大家都有听过,zookeeper.apollo等等都是配置中心的代表,但大部分都是JAVA系为主的,笔者主要开发语言使用的是Golang当然也有类似于ETCD这样的组件,但是并不方便管理也 ...
- Oracle Database 12C 安装教程
一.下载地址 Oracle Database 官方下载地址:https://www.oracle.com/database/technologies/oracle-database-software- ...
- numpy+sklearn 手动实现逻辑回归【Python】
逻辑回归损失函数: from sklearn.datasets import load_iris,make_classification from sklearn.model_selection im ...
- PHP扩展Swoole的代码重载机制
大家都知道Swoole的性能在PHP界还算不错,同样都是PHP为什么呢,我专门研究了下. 几个概念: 1) sapi:可以简单的理解为php引擎对外的一个统一接口,使得php可以和外部程序进行交互 ...
- 小程序里json字符串转json对象需注意的地方
一.JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JSON对象 var obj = eval('(' + str + ') ...
- 在Spring Boot中使用内存数据库
文章目录 H2数据库 HSQLDB Apache Derby SQLite 在Spring Boot中使用内存数据库 所谓内存数据库就是可以在内存中运行的数据库,不需要将数据存储在文件系统中,但是相对 ...
- 第八章服务器raid及配置实战
版本 特点 磁盘个数 可用空间 故障磁盘数 应用环境 RAID0 读写速度快,数据容易丢失 两个 全部 一块 测试,临时性 RAID1 读写速度慢,数据可靠 至少两个,可以2的倍数 总容量的一半 ...
- 面试题总结-Java部分
1 集合 1.1 hashmap原理 HashMap是基于哈希表实现的,每一个元素是一个key-value对,实现了Serializable.Cloneable接口,允许使用null值和null键.不 ...
- 华为设备RIP实施和理论详解
1.路由协议基础 共同的目的:更新.维护和控制3层的路由 工作机制: RIP,封装在UDP这个协议上,端口号520(优先级100) OSPF,封装在IP层,协议号89(优先级,内部10,外部是150- ...
- STL学习心得
STL的知识翻来复去,也就那么回事,但是真的想要熟练使用,要下一番功夫.无论是算法,还是STL容器,直白的说就是套路,然而对于一道题,告诉你是STL容器的题,让你套容器也绝非易事. 怎样使用容器,对于 ...