- 
UID:17777 
 
 
 
- 
- 注册时间2007-05-02
 
- 最后登录2025-11-03
 
- 在线时间19246小时
 
 
 
- 
- 发帖842751
 
- 搜Ta的帖子
 
- 精华0
 
- 飞翔币121313
 - 威望325892
 - 飞扬币3797901
 - 信誉值8
 
 
 
- 
访问TA的空间加好友用道具
 
 
 
 
 
 
- 发帖
 - 842751
  
- 飞翔币
 - 121313
 
 - 威望
 - 325892
 
 - 飞扬币
 - 3797901
 
 - 信誉值
 - 8
  
 
 
 
 | 
 
 
 某安全公司移动端病毒分析的面试题目,该病毒样本的难点在于混淆的比较厉害,靠人力手动分析肯定是不现实的,在规定的时间内,人肉手动分析你是不可能分析完成,样本的代码量也比较大,有兴趣的、有条件拿到样本的同学可以自己动手分析试试,这个远控木马的分析是有点难度,不过还是蛮有意思的,样本暂不提供,这真是一段悲伤的故事!生活还在继续,努力加油,让技术再提升一下。通过对这个样本的分析让我明白了很多,思考了很多,又找到了一些新的兴趣点. 木马病毒com.schemedroid的混淆对抗手段:(1).dex文件的类名称和变量的名称被混淆为无法辨认的特殊字符串  (2).dex文件中的字符串全部被加密函数所加密并且每个类中的加密函数的实现还不同(100多个类文件)  Android木马病毒com.schemedroid的分析报告 apk包名:com.schemedroid文件Md5: CFBCEE2B12DD93A6109AC06C10C34C861.读取当前Android应用的assets目录下的droid.png文件的文件数据,解密之后释放到当前Android应用的文件路径/data/data/com.schemedroid/files/droid.png下,然后将文件/data/data/com.schemedroid/files/droid.png进行重命名为/data/data/com.schemedroid/files/annotation.jar文件。  2.通过DexClassLoader动态加载/data/data/com.schemedroid/files/annotation.jar文件,分别加载类com.GoogleService.MainService和com.GoogleService.Common.Config并通过类反射调用分别构造它们的实例对象,调用通过类反射调用类com.GoogleService.MainService的实例方法create进行对用户的手机进行远程控制的操作(具体的远程控制行为后面再详细的分析);通过类反射调用类com.GoogleService.Common.Config的实例方法getIMEI获取到手机的IMEI值,通过类反射调用类com.GoogleService.Common.Config的实例方法getSrvAddr获取远程服务器的主机名称SrvAddr,通过类反射调用类com.GoogleService.Common.Config的实例方法getSrvPort,获取到与远程服务器通信的端口号SrvPort,然后删除文件/data/data/com.schemedroid/files/droid.png和/data/data/com.schemedroid/files/annotation.jar。  3.调用libwatch.so库文件中的native方法init函数,对用户的手机安装远程监控,具体的通过文件/data/data/com.schemedroid的存在性,来判断是否需要在用户的手机上启动远程监控服务,如果文件/data/data/com.schemedroid存在,则执行am startservice -n com.schemedroid/com.GoogleService.MainService命令,启动java层的服务类com.GoogleService.MainService进行监控,否则的话向SrvAddr指定的主机名,SrvPort指定的端口,发送带用户手机的IMEI值和"MM_UNINSTALLED"命令的tcp数据包给远程服务器,获取是否对手机设备进行监控的标记,1-不监控(uninstall_watch),0-监控。  对SrvAddr服务器返回的数据包的类型进行判断,数据包类型为2时为uninstall_watch,不监控,仅仅作为发送给服务器的ack握手包。  4.对开机启动的广播事件android.intent.action.BOOT_COMPLETED进行注册和监听处理,当接收到该广播事件并且文件/data/data/com.schemedroid/files/android.sys不存在时,则重复执行上述的行为;由于当前apk应用在进行远程监控销毁自身应用的命令处理中,销毁自身apk应用时,会创建/data/data/com.schemedroid/files/android.sys文件,因此在触发行为时,需要判断该文件。  5.对广播事件android.intent.action.START_GOOGLE_SERVICE进行相应注册和监听,启动服务com.schemedroid.SchemeService同样执行上述的行为。  6.当前apk应用的很多行为都是在动态加载的/data/data/com.schemedroid/files/annotation.jar文件里实现的,下面就对/data/data/com.schemedroid/files/annotation.jar文件的行为进行分析。<1>.当用户点击运行当前apk以后,会对当前Android应用的图标进行隐藏,使用用户难以发现它的存在。  <2>.将当前Android应用的assets目录下的id.txt文件中的数据"2015-12-10 10:58:27"写入到文件/data/data/com.schemedroid/files/id.txt中,apk在进行数据上传的时候会用到该数据;读取文件/data/data/com.schemedroid/files/setting.prop或者当前Android应用的assets目录下的setting.prop文件的数据进行解密操作,得到对用户的手机进行监控设置的原始初始化数据,其中222.87.0.101就是连接到远程服务器的IP地址SrvAddr,5000是端口号SrvPort,key=3ADA7521DBE2DBB311B44901A5C6EAD4就是对远程发送到用户手机上的TEA加密的短信控制指令进行解密的密钥,远控配置文件setting.prop用于保存用户手机被远程监控操作的一些记录。
  [C++] 纯文本查看 复制代码
  ?<3>.当前apk数据目录下的配置文件Parameter.xml只要也是用于记录远程服务器对用户的手机进行控制操作的一些记录,方便远程服务器对用户的手机进行控制,主要记录参数有:| [font=&][size=; font-size: 9pt,9pt]isNativeRooted   | [size=; font-size: 9pt,9pt]用户的手机是否已经[font=&][size=; font-size: 9pt,9pt]root  |  [font=&][size=; font-size: 9pt,9pt]slower_phone  | [size=; font-size: 9pt,9pt]是否执行[font=&][size=; font-size: 9pt,9pt]slow.sh[size=; font-size: 9pt,9pt]脚本消耗手机的内存资源  |  [font=&][size=; font-size: 9pt,9pt]isRemoteRooted  | [size=; font-size: 9pt,9pt]是否对用户的手机进行远程控制的[font=&][size=; font-size: 9pt,9pt]root[size=; font-size: 9pt,9pt]操作  |  [font=&][size=; font-size: 9pt,9pt]destroy_apps  | [size=; font-size: 9pt,9pt]是否销毁用户手机系统[font=&][size=; font-size: 9pt,9pt]/system/app[size=; font-size: 9pt,9pt]目录下的[font=&][size=; font-size: 9pt,9pt]apk  |  [font=&][size=; font-size: 9pt,9pt]app_package  | [size=; font-size: 9pt,9pt]保存用户手机里安装的[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]的包名  |  [font=&][size=; font-size: 9pt,9pt]daemon  | [size=; font-size: 9pt,9pt]是否运行守护进程创建文件[font=&][size=; font-size: 9pt,9pt]/system/bin/debuggerd  |  [font=&][size=; font-size: 9pt,9pt]sdcard_tag  | [size=; font-size: 9pt,9pt]用户手机系统是否有[font=&][size=; font-size: 9pt,9pt]sdcard[size=; font-size: 9pt,9pt]等存储器  |  [font=&][size=; font-size: 9pt,9pt]initCfg  | [size=; font-size: 9pt,9pt]是否读取[font=&][size=; font-size: 9pt,9pt]setting.prop[size=; font-size: 9pt,9pt]文件中的数据进行原始数据初始化  |  [font=&][size=; font-size: 9pt,9pt]udp  | [size=; font-size: 9pt,9pt]是否向网址[font=&][size=; font-size: 9pt,9pt]www.baidu.com[size=; font-size: 9pt,9pt]端口[font=&][size=; font-size: 9pt,9pt]53[size=; font-size: 9pt,9pt]或者[font=&][size=; font-size: 9pt,9pt]8000[size=; font-size: 9pt,9pt]发送[font=&][size=; font-size: 9pt,9pt]udp[size=; font-size: 9pt,9pt]数据包  |  [font=&][size=; font-size: 9pt,9pt]consume_mobile_traffic  | [size=; font-size: 9pt,9pt]是否消耗用户手机的电量和数据流量  |  [font=&][size=; font-size: 9pt,9pt]isSettingSend  | [size=; font-size: 9pt,9pt]是否将[font=&][size=; font-size: 9pt,9pt]setting.prop[size=; font-size: 9pt,9pt]文件的数据发送给远程服务器  |  [font=&][size=; font-size: 9pt,9pt]run  | [size=; font-size: 9pt,9pt]是否将所有[font=&][size=; font-size: 9pt,9pt].ini[size=; font-size: 9pt,9pt]文件中的信息数据压缩保存为文件[font=&][size=; font-size: 9pt,9pt]data%d.41[size=; font-size: 9pt,9pt]并将压缩文件的数据保存到数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]的表[font=&][size=; font-size: 9pt,9pt]t_fileTask  |   <4>.当前Android应用在进行上传用户手机里的信息文件数据到远程服务器的方式是,先将需要发送的信息文件压缩为/data/data/com.schemedroid/files/tmp/data%d.41文件并将该压缩文件的文件路径等相关信息保存到数据库文件/data/data/com.schemedroid/databases/config.db的表t_fileTask中,上传文件数据的信息时,主动连接到远程服务器,读取config.db数据库中文件存放路径srcpath指定文件的数据上传给服务器,远程服务器下载释放文件到用户手机的里也是存放到srcpath指定的文件路径。  <5>.当前Android应用自带了root工具,先通过判断文件system/bin/su4100和system/bin/clock_service是否存在,来判断用户的手机是否root。将assets目录下的splash文件释放到文件路径/data/data/com.schemedroid/app_bin/su下,assets目录下的help4.png文件释放到文件路径,/data/data/com.schemedroid/app_bin/help4.png下,assets目录下的busybox_g1文件释放到文件路径,/data/data/com.schemedroid/app_bin/busybox_g1下以及创建和释放脚本文件,/data/data/com.schemedroid/app_bin/toor.sh并将assets目录下的 logo.png文件先解密然后释放该文件到文件,路径/data/data/com.schemedroid/app_bin/logo.png下,执行如下命令对用户的手机进行root操作,root操作完成之后删除文件/data/data/com.schemedroid/app_bin/logo.png、 /data/data/com.schemedroid/app_bin/toor.sh以及/data/data/com.schemedroid/app_bin/su。  <6>.通过检测文件/system/xbin/su4100的存在以及执行命令su4100 -c ls /data能否获取用户手机的data目录下的文件信息来判断用户的手机是否已经root;如果用户的手机没有root,则对用户的手机进行root操作。将assets目录下的splash文件释放到文件路径/data/data/com.schemedroid/app_bin/su下,assets目录下的help4.png文件释放到文件路径/data/data/com.schemedroid/app_bin/help4.png下,将assets目录下的busybox_g1文件释放到文件路径/data/data/com.schemedroid/app_bin/busybox_g1下,创建和释放脚本文件/data/data/com.schemedroid/app_bin/toor.sh,动态加载/data/data/com.schemedroid/app_rmr目录下的.jar包文件,通过类反射调用获取类com.r.m的实例方法s,传入参数.jar文件的名称、/data/data/com.schemedroid/app_bin/toor.sh等调用该类方法s对用户的手机进行root操作(.jar包文件应该是远程服务器下载到app_rmr目录下的),root操作完成以后删除文件toor.sh,su,help4.png。<7>.root权限下,修改用户手机的系统内存属性为可读可写,通过dd命令将com.schemedroid.apk文件和libwatch.so拷贝释放到文件路径/system目录下并赋予他们677权限,然后发送广播android.intent.action.START_GOOGLE_SERVICE和启动服务com.GoogleService.MainService。  <8>.创建tcp连接的服务端,绑定本地ip地址127.0.0.1端口号为10101,等待远程客户端的连接,接受远程客户端的命令控制。|   [size=; font-size: 9pt,9pt]控制命令   | [size=; font-size: 9pt,9pt]执行的操作  |  [font=&][size=; font-size: 9pt,9pt]4100_IMEI  | [size=; font-size: 9pt,9pt]将用户手机的[font=&][size=; font-size: 9pt,9pt]IMEI[size=; font-size: 9pt,9pt]([font=&][size=; font-size: 9pt,9pt]"4100_IMEI:+[size=; font-size: 9pt,9pt]用户手机[font=&][size=; font-size: 9pt,9pt]IMEI"[size=; font-size: 9pt,9pt])信息[font=&][size=; font-size: 9pt,9pt],[size=; font-size: 9pt,9pt]发送给远程的[font=&][size=; font-size: 9pt,9pt]tcp[size=; font-size: 9pt,9pt]客户端  |  [font=&][size=; font-size: 9pt,9pt]4100_TERMINAL_NUM  | [size=; font-size: 9pt,9pt]获取到[font=&][size=; font-size: 9pt,9pt]TerminalNum[size=; font-size: 9pt,9pt]即[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt],并将该[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]加密保存到配置文件  [font=&][size=; font-size: 9pt,9pt]/data/data/com.schemedroid/files/setting.prop[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]4100_KEY  | [size=; font-size: 9pt,9pt]获取到[font=&][size=; font-size: 9pt,9pt]key[size=; font-size: 9pt,9pt]值并将该[font=&][size=; font-size: 9pt,9pt]key[size=; font-size: 9pt,9pt]加密保存到配置文件  [font=&][size=; font-size: 9pt,9pt]/data/data/com.schemedroid/files/setting.prop[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]4100_LOCAL_NUM  | [size=; font-size: 9pt,9pt]向[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]指定的手机号发送短信,短信内容为[font=&][size=; font-size: 9pt,9pt]jnfja+[size=; font-size: 9pt,9pt]当前用户手机的[font=&][size=; font-size: 9pt,9pt]IMEI[size=; font-size: 9pt,9pt]值  |  [font=&][size=; font-size: 9pt,9pt]4100_SRV_ADDR  | [size=; font-size: 9pt,9pt]获取到网络连接的目标[font=&][size=; font-size: 9pt,9pt]ip[size=; font-size: 9pt,9pt]地址[font=&][size=; font-size: 9pt,9pt]SrvAddr[size=; font-size: 9pt,9pt]即[font=&][size=; font-size: 9pt,9pt]server[size=; font-size: 9pt,9pt]并将[font=&][size=; font-size: 9pt,9pt]server[size=; font-size: 9pt,9pt]值加密保存到配置文件[font=&][size=; font-size: 9pt,9pt]/data/data/com.schemedroid/files/setting.prop[size=; font-size: 9pt,9pt]中,然后主动连接到[font=&][size=; font-size: 9pt,9pt]server[size=; font-size: 9pt,9pt]地址  [size=; font-size: 9pt,9pt]端口号为[font=&][size=; font-size: 9pt,9pt]5000[size=; font-size: 9pt,9pt]的远程服务器,让用户的手机接受远程控制。  |  [font=&][size=; font-size: 9pt,9pt]4100_SRV_PORT  | [size=; font-size: 9pt,9pt]获取到网络连接的端口号[font=&][size=; font-size: 9pt,9pt]SrvPort[size=; font-size: 9pt,9pt]即[font=&][size=; font-size: 9pt,9pt]port[size=; font-size: 9pt,9pt],并加密保存[font=&][size=; font-size: 9pt,9pt]port[size=; font-size: 9pt,9pt]到配置文件[font=&][size=; font-size: 9pt,9pt]/data/data/com.schemedroid/files/setting.prop[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]4100_REQUEST_CONTACT  | [size=; font-size: 9pt,9pt]将用户手机里联系人的信息,发送给远程的[font=&][size=; font-size: 9pt,9pt]tcp[size=; font-size: 9pt,9pt]客户端  |  [font=&][size=; font-size: 9pt,9pt]4100_REQUEST_SMS  | [size=; font-size: 9pt,9pt]将用户手机里短信的信息,发送给远程的[font=&][size=; font-size: 9pt,9pt]tcp[size=; font-size: 9pt,9pt]客户端  |  [font=&][size=; font-size: 9pt,9pt]4100_REQUEST_CALL  | [size=; font-size: 9pt,9pt]将用户手机里通话记录的信息,发送给远程的[font=&][size=; font-size: 9pt,9pt]tcp[size=; font-size: 9pt,9pt]客户端  |  [font=&][size=; font-size: 9pt,9pt]4100_REQUEST_STATION  | [size=; font-size: 9pt,9pt]将用户基于手机定位的经纬度、基站区号、网络标识等信息[font=&][size=; font-size: 9pt,9pt],[size=; font-size: 9pt,9pt]发送给远程的[font=&][size=; font-size: 9pt,9pt]tcp[size=; font-size: 9pt,9pt]客户端  |  [font=&][size=; font-size: 9pt,9pt]4100_REQUEST_GPS  | [size=; font-size: 9pt,9pt]将用户手机基于[font=&][size=; font-size: 9pt,9pt]Gps[size=; font-size: 9pt,9pt]定位的经纬度信息,发送给远程的[font=&][size=; font-size: 9pt,9pt]tcp[size=; font-size: 9pt,9pt]客户端  |   <9>.窃取用户手机里以下Android应用的文件数据信息和Android应用的版本号,上传到SrvAddr和SrvPort指定的远程服务器端,现将收集到的下列App的数据文件信息进行压缩处理得到data%d.41(其中%d为0~30的某个值)文件,将该压缩文件的路径等信息先保存到数据库config.db的表t_fileTask中,然后发送给远程的服务器。|   [font=&][size=; font-size: 9pt,9pt]App[size=; font-size: 9pt,9pt]应用的包名   | [size=; font-size: 9pt,9pt]窃取的数据信息  | [size=; font-size: 9pt,9pt]是否上传[font=&][size=; font-size: 9pt,9pt]App[size=; font-size: 9pt,9pt]的版本号[font=&][size=; font-size: 9pt,9pt]versionName  |  [font=&][size=; font-size: 9pt,9pt]com.instanza.cocovoice  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.instanza.cocovoice/databases  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.loudtalks  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.loudtalks/shared_prefs  [font=&][size=; font-size: 9pt,9pt]Sd[size=; font-size: 9pt,9pt]卡下的文件[font=&][size=; font-size: 9pt,9pt]zello/history  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.viber.voip  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.viber.voip/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.viber.voip/files  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.android.browsercom.google.android.browser  | [font=&][size=; font-size: 9pt,9pt]/data/data/  [font=&][size=; font-size: 9pt,9pt]com.android.browsercom.google.android.browser  [font=&][size=; font-size: 9pt,9pt]/databases  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.android.browser  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.android.browser/databases  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.android.email  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.android.email/databases  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.google.android.email  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.google.android.email/databases  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.htc.android.mail  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.htc.android.mail/databases  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.tencent.mm  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.mm/MicroMsg  [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.mm/shared_prefs  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.sina.weibo  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.sina.weibo/cache  [font=&][size=; font-size: 9pt,9pt]/data/data/com.sina.weibo/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.sina.weibo/files  [font=&][size=; font-size: 9pt,9pt]/data/data/com.sina.weibo/shared_prefs  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.tencent.mobileqq  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.mobileqq/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.mobileqq/shared_prefs  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.tencent.android.pad  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.android.pad/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.mobileqq/shared_prefs  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.skype.rover  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.skype.rover/files  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.skype.raider  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.skype.raider/files  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.tencent.WBlog  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.WBlog/cache  [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.WBlog/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.tencent.WBlog/files  | [size=; font-size: 9pt,9pt]否  |  [font=&][size=; font-size: 9pt,9pt]com.whatsapp  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.whatsapp/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.whatsapp/shared_prefs  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.rebelvox.voxer  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.rebelvox.voxer/databases  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.oovoo  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.oovoo/databases  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.gtomato.talkbox  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.gtomato.talkbox/databases  [font=&][size=; font-size: 9pt,9pt]/data/data/com.gtomato.talkbox/files  | [size=; font-size: 9pt,9pt]是  |  [font=&][size=; font-size: 9pt,9pt]com.bbm  | [font=&][size=; font-size: 9pt,9pt]/data/data/com.bbm/files  [font=&][size=; font-size: 9pt,9pt]/data/data/com.bbm/shared_prefs  | [size=; font-size: 9pt,9pt]是  |   <10>.读取当前Android应用资源文件目录assets下的about.png文件的数据,释放该文件到文件路径/data/data/com.schemedroid/filess下,判断/system/bin/debuggerd文件是否已经存在,如果存在则执行/system/bin/debuggerd -c -s SrvAddr -p SrvPort(SrvAddr为连接远程服务器的IP地址,SrvPort为连接远程IP地址的端口),否则读取资源目录assets下的help.png、help2.png、help3.png、help4.png文件,解密后分别释放到/data/data/com.schemedroid/files文件路径下,然后在root权限下,执行以下命令创建守护进程/system/bin/debuggerd。  <11>.将Android应用的assets目录下的iptables_armv5文件和busybox_g1文件拷贝到文件路径/data/data/com.schemedroid/app_bin下,创建和释放/data/data/com.schemedroid/app_bin/droidwall.sh脚本文件并在root权限下执行脚本droidwall.sh,使手机安全软件com.qihoo360.mobilesafe,com.qihoo.antivirus的防火墙功能失效并在执行完成后删除脚本文件droidwall.sh。  <12>.向IP地址为SrvAddr端口号为SrvPort的远程服务器发起网络连接,获取远程服务器发送来的数据包类型,数据包类型为5,将文件/data/data/com.schemedroid/files/setting.prop上传给远程的服务器,关闭与远程服务器的连接;数据包类型为0,接收远程服务器发送来的控制指令对用户的手机进行远程控制操作,每条控制指令是存放在###与###的字符串,并且控制指令执行的操作与上文分析的样本行为是对应的。|   [size=; font-size: 9pt,9pt]控制命令   | [size=; font-size: 9pt,9pt]消息类型  | [size=; font-size: 9pt,9pt]执行的操作  |  [font=&][size=; font-size: 9pt,9pt]GetCmd  | [font=&][size=; font-size: 9pt,9pt]-1  | [size=; font-size: 9pt,9pt]连接远程服务器,获取控制用户手机的控制命令  |  [font=&][size=; font-size: 9pt,9pt]SMSInfo  | [font=&][size=; font-size: 9pt,9pt]2  | [size=; font-size: 9pt,9pt]获取用户手机里短信的信息  |  [font=&][size=; font-size: 9pt,9pt]ContactInfo  | [font=&][size=; font-size: 9pt,9pt]1  | [size=; font-size: 9pt,9pt]获取用户手机里联系人的信息  |  [font=&][size=; font-size: 9pt,9pt]LogInfo  | [font=&][size=; font-size: 9pt,9pt]3  | [size=; font-size: 9pt,9pt]获取用户手机里通话记录的信息  |  [font=&][size=; font-size: 9pt,9pt]BaseStation  | [font=&][size=; font-size: 9pt,9pt]0  | [size=; font-size: 9pt,9pt]获取用户手机的手机定位信息  |  [font=&][size=; font-size: 9pt,9pt]GPS  | [font=&][size=; font-size: 9pt,9pt]8  | [size=; font-size: 9pt,9pt]获取用户手机的[font=&][size=; font-size: 9pt,9pt]GPS[size=; font-size: 9pt,9pt]定位信息  |  [font=&][size=; font-size: 9pt,9pt]AppList  | [font=&][size=; font-size: 9pt,9pt]17  | [size=; font-size: 9pt,9pt]获取用户手机里安装的所有[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]的信息  |  [font=&][size=; font-size: 9pt,9pt]GetQQ  | [font=&][size=; font-size: 9pt,9pt]24  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]QQ[size=; font-size: 9pt,9pt]的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]和[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetBrowser  | [font=&][size=; font-size: 9pt,9pt]25  | [size=; font-size: 9pt,9pt]获取用户手机里默认浏览器的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetEmail  | [font=&][size=; font-size: 9pt,9pt]26  | [size=; font-size: 9pt,9pt]获取用户手机里指定[font=&][size=; font-size: 9pt,9pt]email[size=; font-size: 9pt,9pt]应用的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetWeChat  | [font=&][size=; font-size: 9pt,9pt]27  | [size=; font-size: 9pt,9pt]获取用户手机里微信的[font=&][size=; font-size: 9pt,9pt]MicroMsg[size=; font-size: 9pt,9pt]和[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetWeibo  | [font=&][size=; font-size: 9pt,9pt]28  | [size=; font-size: 9pt,9pt]获取用户手机里新浪微博的[font=&][size=; font-size: 9pt,9pt]cache[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]files[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetWifi  | [font=&][size=; font-size: 9pt,9pt]33  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]wifi[size=; font-size: 9pt,9pt]的名称、密码、连接状态等信息  |  [font=&][size=; font-size: 9pt,9pt]GetSkype  | [font=&][size=; font-size: 9pt,9pt]34  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]Skype[size=; font-size: 9pt,9pt]应用的[font=&][size=; font-size: 9pt,9pt]files[size=; font-size: 9pt,9pt]文件的信息  |  [font=&][size=; font-size: 9pt,9pt]LocalAddr  | [font=&][size=; font-size: 9pt,9pt]5  | [size=; font-size: 9pt,9pt]获取用户手机的[font=&][size=; font-size: 9pt,9pt]imei[size=; font-size: 9pt,9pt]值和[font=&][size=; font-size: 9pt,9pt]imsi[size=; font-size: 9pt,9pt]值  |  [font=&][size=; font-size: 9pt,9pt]MakeACall:(  | [font=&][size=; font-size: 9pt,9pt]4  | [size=; font-size: 9pt,9pt]无操作  |  [font=&][size=; font-size: 9pt,9pt]ClrRcdNum:(  | [font=&][size=; font-size: 9pt,9pt]15  | [size=; font-size: 9pt,9pt]删除数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中储存类型为[font=&][size=; font-size: 9pt,9pt]2[size=; font-size: 9pt,9pt]的手机号  |  [font=&][size=; font-size: 9pt,9pt]RcdNum:(  | [font=&][size=; font-size: 9pt,9pt]14  | [size=; font-size: 9pt,9pt]向数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中插入类型为[font=&][size=; font-size: 9pt,9pt]2[size=; font-size: 9pt,9pt]的手机号  |  [font=&][size=; font-size: 9pt,9pt]StartRecorder:(  | [font=&][size=; font-size: 9pt,9pt]21  | [size=; font-size: 9pt,9pt]对用户的手机进行录音并上传给远程服务器  |  [font=&][size=; font-size: 9pt,9pt]KSerName:(  | [font=&][size=; font-size: 9pt,9pt]6  | [size=; font-size: 9pt,9pt]保存[font=&][size=; font-size: 9pt,9pt]server[size=; font-size: 9pt,9pt]的地址信息到远控配置文件[font=&][size=; font-size: 9pt,9pt]setting.prop[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]SendInfo  | [font=&][size=; font-size: 9pt,9pt]7  | [size=; font-size: 9pt,9pt]将保存用户手机里指定用户信息的所有[font=&][size=; font-size: 9pt,9pt].ini[size=; font-size: 9pt,9pt]文件上传到远程服务器  |  [font=&][size=; font-size: 9pt,9pt]SetBlack  | [font=&][size=; font-size: 9pt,9pt]9  | [size=; font-size: 9pt,9pt]向数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中插入类型为[font=&][size=; font-size: 9pt,9pt]1[size=; font-size: 9pt,9pt]的黑名单手机号  |  [font=&][size=; font-size: 9pt,9pt]ClearBlack  | [font=&][size=; font-size: 9pt,9pt]10  | [size=; font-size: 9pt,9pt]删除数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中储存类型为[font=&][size=; font-size: 9pt,9pt]1[size=; font-size: 9pt,9pt]的黑名单手机号  |  [font=&][size=; font-size: 9pt,9pt]KillSelf  | [font=&][size=; font-size: 9pt,9pt]11  | [size=; font-size: 9pt,9pt]在用户手机里,清除[font=&][size=; font-size: 9pt,9pt]com.schemedroid.apk[size=; font-size: 9pt,9pt]自身并结束自身进程  |  [font=&][size=; font-size: 9pt,9pt]FILELIST  | [font=&][size=; font-size: 9pt,9pt]12  | [size=; font-size: 9pt,9pt]获取用户手机里所有[font=&][size=; font-size: 9pt,9pt]scard[size=; font-size: 9pt,9pt]等存储器的文件路径信息  |  [font=&][size=; font-size: 9pt,9pt]RecordFileList  | [font=&][size=; font-size: 9pt,9pt]16  | [size=; font-size: 9pt,9pt]获取对用户手机进行通话录音和常规录音的保存文件的路径信息  |  [font=&][size=; font-size: 9pt,9pt]SendFile  | [font=&][size=; font-size: 9pt,9pt]13  | [size=; font-size: 9pt,9pt]将用户手机里指定文件路径的文件数据上传到远程服务器  |  [font=&][size=; font-size: 9pt,9pt]SendDir  | [font=&][size=; font-size: 9pt,9pt]48  | [size=; font-size: 9pt,9pt]将用户手机里指定文件夹下的所有文件信息存储到数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]的表[font=&][size=; font-size: 9pt,9pt]t_fileTask[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]SendSms  | [font=&][size=; font-size: 9pt,9pt]23  | [size=; font-size: 9pt,9pt]让用户的手机向指定的手机号发送指定的短信  |  [font=&][size=; font-size: 9pt,9pt]SendFakeSms  | [font=&][size=; font-size: 9pt,9pt]31  | [size=; font-size: 9pt,9pt]在用户的手机里伪造发送假短信  |  [font=&][size=; font-size: 9pt,9pt]UpdateSetting  | [font=&][size=; font-size: 9pt,9pt]30  | [size=; font-size: 9pt,9pt]将远控配置文件[font=&][size=; font-size: 9pt,9pt]setting2.prop[size=; font-size: 9pt,9pt]的数据上传到服务器进行下载更新  |  [font=&][size=; font-size: 9pt,9pt]TakePicture  | [font=&][size=; font-size: 9pt,9pt]35  | [size=; font-size: 9pt,9pt]对用户的手机进行屏幕截图操作  |  [font=&][size=; font-size: 9pt,9pt]MovieRecord  | [font=&][size=; font-size: 9pt,9pt]36  | [size=; font-size: 9pt,9pt]对用户的手机进行视频录制操作  |  [font=&][size=; font-size: 9pt,9pt]GetAppData  | [font=&][size=; font-size: 9pt,9pt]37  | [size=; font-size: 9pt,9pt]获取用户手机里指定[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]的指定目录的文件信息并上传到远程服务器  |  [font=&][size=; font-size: 9pt,9pt]GetWhatsapp  | [font=&][size=; font-size: 9pt,9pt]38  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]Whatsapp[size=; font-size: 9pt,9pt]应用的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]DeleteFiles  | [font=&][size=; font-size: 9pt,9pt]39  | [size=; font-size: 9pt,9pt]对用手机里的指定图片、视频、音频或者[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]文件进行删除  |  [font=&][size=; font-size: 9pt,9pt]DestroyApps  | [font=&][size=; font-size: 9pt,9pt]40  | [size=; font-size: 9pt,9pt]将用户手机里安装的[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]进行删除和破坏缓存[font=&][size=; font-size: 9pt,9pt]dex[size=; font-size: 9pt,9pt]文件  |  [font=&][size=; font-size: 9pt,9pt]ConsumeEnergy  | [font=&][size=; font-size: 9pt,9pt]41  | [size=; font-size: 9pt,9pt]消耗和浪费用户手机的网络资源和电量  |  [font=&][size=; font-size: 9pt,9pt]ConsumeMobileTraffic  | [font=&][size=; font-size: 9pt,9pt]42  | [size=; font-size: 9pt,9pt]发送无效的[font=&][size=; font-size: 9pt,9pt]http[size=; font-size: 9pt,9pt]请求,消耗用户手机的数据流量  |  [font=&][size=; font-size: 9pt,9pt]SetFlyMode  | [font=&][size=; font-size: 9pt,9pt]43  | [size=; font-size: 9pt,9pt]控制用户手机的飞行模式的开启和关闭  |  [font=&][size=; font-size: 9pt,9pt]SlowerPhone  | [font=&][size=; font-size: 9pt,9pt]44  | [size=; font-size: 9pt,9pt]执行脚本[font=&][size=; font-size: 9pt,9pt]slow.sh[size=; font-size: 9pt,9pt]消耗用户手机的内存资源  |  [font=&][size=; font-size: 9pt,9pt]MatchFiles  | [font=&][size=; font-size: 9pt,9pt]45  | [size=; font-size: 9pt,9pt]获取用户手机里与指定文件匹配的所有文件  |  [font=&][size=; font-size: 9pt,9pt]GetAVFileList  | [font=&][size=; font-size: 9pt,9pt]46  | [size=; font-size: 9pt,9pt]获取用户手机里指定格式图片、音频、视频文件的文件列表  |  [font=&][size=; font-size: 9pt,9pt]MMSInfo  | [font=&][size=; font-size: 9pt,9pt]50  | [size=; font-size: 9pt,9pt]将保存用户[font=&][size=; font-size: 9pt,9pt]MMS[size=; font-size: 9pt,9pt]类型信息的[font=&][size=; font-size: 9pt,9pt].ini[size=; font-size: 9pt,9pt]文件的数据上传到远程的服务器  |  [font=&][size=; font-size: 9pt,9pt]STRATEGY  | [font=&][size=; font-size: 9pt,9pt]51  | [size=; font-size: 9pt,9pt]收集用户手机里通信[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]、联系人等信息并将保存信息文件路径存储到数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]的表[font=&][size=; font-size: 9pt,9pt]t_fileTask[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]GetRoot  | [font=&][size=; font-size: 9pt,9pt]52  | [size=; font-size: 9pt,9pt]获取用户手机是否已经[font=&][size=; font-size: 9pt,9pt]root[size=; font-size: 9pt,9pt]的信息  |   <13>.对用户手机里的短信数据库"content://sms"的变化进行监控,判断用户手机接收到的短信是否是###开头的远程控制指令短信,由于该远程控制指令短信是经过TEA算法加密的,使用远控配置文件setting.prop中key对远程控制指令短信进行TEA算法的解密,得到最终有效的控制指令字符串,控制指令对应的具体操作和网络远程控制的控制指令操作一致。|   [size=; font-size: 9pt,9pt]控制命令   | [size=; font-size: 9pt,9pt]消息类型  | [size=; font-size: 9pt,9pt]执行的操作  |  [font=&][size=; font-size: 9pt,9pt]GetCmd  | [font=&][size=; font-size: 9pt,9pt]-1  | [size=; font-size: 9pt,9pt]连接远程服务器,获取控制用户手机的控制命令  |  [font=&][size=; font-size: 9pt,9pt]SMSInfo  | [font=&][size=; font-size: 9pt,9pt]2  | [size=; font-size: 9pt,9pt]获取用户手机里短信的信息  |  [font=&][size=; font-size: 9pt,9pt]ContactInfo  | [font=&][size=; font-size: 9pt,9pt]1  | [size=; font-size: 9pt,9pt]获取用户手机里联系人的信息  |  [font=&][size=; font-size: 9pt,9pt]LogInfo  | [font=&][size=; font-size: 9pt,9pt]3  | [size=; font-size: 9pt,9pt]获取用户手机里通话记录的信息  |  [font=&][size=; font-size: 9pt,9pt]BaseStation  | [font=&][size=; font-size: 9pt,9pt]0  | [size=; font-size: 9pt,9pt]获取用户手机的手机定位信息  |  [font=&][size=; font-size: 9pt,9pt]GPS  | [font=&][size=; font-size: 9pt,9pt]8  | [size=; font-size: 9pt,9pt]获取用户手机的[font=&][size=; font-size: 9pt,9pt]GPS[size=; font-size: 9pt,9pt]定位信息  |  [font=&][size=; font-size: 9pt,9pt]AppList  | [font=&][size=; font-size: 9pt,9pt]17  | [size=; font-size: 9pt,9pt]获取用户手机里安装的所有[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]的信息  |  [font=&][size=; font-size: 9pt,9pt]GetQQ  | [font=&][size=; font-size: 9pt,9pt]24  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]QQ[size=; font-size: 9pt,9pt]的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]和[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetBrowser  | [font=&][size=; font-size: 9pt,9pt]25  | [size=; font-size: 9pt,9pt]获取用户手机里默认浏览器的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetEmail  | [font=&][size=; font-size: 9pt,9pt]26  | [size=; font-size: 9pt,9pt]获取用户手机里指定[font=&][size=; font-size: 9pt,9pt]email[size=; font-size: 9pt,9pt]应用的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetWeChat  | [font=&][size=; font-size: 9pt,9pt]27  | [size=; font-size: 9pt,9pt]获取用户手机里微信的[font=&][size=; font-size: 9pt,9pt]MicroMsg[size=; font-size: 9pt,9pt]和[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetWeibo  | [font=&][size=; font-size: 9pt,9pt]28  | [size=; font-size: 9pt,9pt]获取用户手机里新浪微博的[font=&][size=; font-size: 9pt,9pt]cache[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]files[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]GetWifi  | [font=&][size=; font-size: 9pt,9pt]33  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]wifi[size=; font-size: 9pt,9pt]的名称、密码、连接状态等信息  |  [font=&][size=; font-size: 9pt,9pt]GetSkype  | [font=&][size=; font-size: 9pt,9pt]34  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]Skype[size=; font-size: 9pt,9pt]应用的[font=&][size=; font-size: 9pt,9pt]files[size=; font-size: 9pt,9pt]文件的信息  |  [font=&][size=; font-size: 9pt,9pt]LocalAddr  | [font=&][size=; font-size: 9pt,9pt]5  | [size=; font-size: 9pt,9pt]获取用户手机的[font=&][size=; font-size: 9pt,9pt]imei[size=; font-size: 9pt,9pt]值和[font=&][size=; font-size: 9pt,9pt]imsi[size=; font-size: 9pt,9pt]值  |  [font=&][size=; font-size: 9pt,9pt]MakeACall:(  | [font=&][size=; font-size: 9pt,9pt]4  | [size=; font-size: 9pt,9pt]无操作  |  [font=&][size=; font-size: 9pt,9pt]ClrRcdNum:(  | [font=&][size=; font-size: 9pt,9pt]15  | [size=; font-size: 9pt,9pt]删除数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中储存类型为[font=&][size=; font-size: 9pt,9pt]2[size=; font-size: 9pt,9pt]的手机号  |  [font=&][size=; font-size: 9pt,9pt]RcdNum:(  | [font=&][size=; font-size: 9pt,9pt]14  | [size=; font-size: 9pt,9pt]向数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中插入类型为[font=&][size=; font-size: 9pt,9pt]2[size=; font-size: 9pt,9pt]的手机号  |  [font=&][size=; font-size: 9pt,9pt]StartRecorder:(  | [font=&][size=; font-size: 9pt,9pt]21  | [size=; font-size: 9pt,9pt]对用户的手机进行录音并上传给远程服务器  |  [font=&][size=; font-size: 9pt,9pt]KSerName:(  | [font=&][size=; font-size: 9pt,9pt]6  | [size=; font-size: 9pt,9pt]保存[font=&][size=; font-size: 9pt,9pt]server[size=; font-size: 9pt,9pt]的地址信息到远控配置文件[font=&][size=; font-size: 9pt,9pt]setting.prop[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]SendInfo  | [font=&][size=; font-size: 9pt,9pt]7  | [size=; font-size: 9pt,9pt]将保存用户手机里指定用户信息的所有[font=&][size=; font-size: 9pt,9pt].ini[size=; font-size: 9pt,9pt]文件上传到远程服务器  |  [font=&][size=; font-size: 9pt,9pt]SetBlack  | [font=&][size=; font-size: 9pt,9pt]9  | [size=; font-size: 9pt,9pt]向数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中插入类型为[font=&][size=; font-size: 9pt,9pt]1[size=; font-size: 9pt,9pt]的黑名单手机号  |  [font=&][size=; font-size: 9pt,9pt]ClearBlack  | [font=&][size=; font-size: 9pt,9pt]10  | [size=; font-size: 9pt,9pt]删除数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]里表[font=&][size=; font-size: 9pt,9pt]number[size=; font-size: 9pt,9pt]中储存类型为[font=&][size=; font-size: 9pt,9pt]1[size=; font-size: 9pt,9pt]的黑名单手机号  |  [font=&][size=; font-size: 9pt,9pt]KillSelf  | [font=&][size=; font-size: 9pt,9pt]11  | [size=; font-size: 9pt,9pt]在用户手机里,清除[font=&][size=; font-size: 9pt,9pt]com.schemedroid.apk[size=; font-size: 9pt,9pt]自身并结束自身进程  |  [font=&][size=; font-size: 9pt,9pt]FILELIST  | [font=&][size=; font-size: 9pt,9pt]12  | [size=; font-size: 9pt,9pt]获取用户手机里所有[font=&][size=; font-size: 9pt,9pt]scard[size=; font-size: 9pt,9pt]等存储器的文件路径信息  |  [font=&][size=; font-size: 9pt,9pt]RecordFileList  | [font=&][size=; font-size: 9pt,9pt]16  | [size=; font-size: 9pt,9pt]获取对用户手机进行通话录音和常规录音的保存文件的路径信息  |  [font=&][size=; font-size: 9pt,9pt]SendFile  | [font=&][size=; font-size: 9pt,9pt]13  | [size=; font-size: 9pt,9pt]将用户手机里指定文件路径的文件数据上传到远程服务器  |  [font=&][size=; font-size: 9pt,9pt]SendDir  | [font=&][size=; font-size: 9pt,9pt]48  | [size=; font-size: 9pt,9pt]将用户手机里指定文件夹下的所有文件信息存储到数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]的表[font=&][size=; font-size: 9pt,9pt]t_fileTask[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]SendSms  | [font=&][size=; font-size: 9pt,9pt]23  | [size=; font-size: 9pt,9pt]让用户的手机向指定的手机号发送指定的短信  |  [font=&][size=; font-size: 9pt,9pt]SendFakeSms  | [font=&][size=; font-size: 9pt,9pt]31  | [size=; font-size: 9pt,9pt]在用户的手机里伪造发送假短信  |  [font=&][size=; font-size: 9pt,9pt]UpdateSetting  | [font=&][size=; font-size: 9pt,9pt]30  | [size=; font-size: 9pt,9pt]将远控配置文件[font=&][size=; font-size: 9pt,9pt]setting2.prop[size=; font-size: 9pt,9pt]的数据上传到服务器进行下载更新  |  [font=&][size=; font-size: 9pt,9pt]TakePicture  | [font=&][size=; font-size: 9pt,9pt]35  | [size=; font-size: 9pt,9pt]对用户的手机进行屏幕截图操作  |  [font=&][size=; font-size: 9pt,9pt]MovieRecord  | [font=&][size=; font-size: 9pt,9pt]36  | [size=; font-size: 9pt,9pt]对用户的手机进行视频录制操作  |  [font=&][size=; font-size: 9pt,9pt]GetAppData  | [font=&][size=; font-size: 9pt,9pt]37  | [size=; font-size: 9pt,9pt]获取用户手机里指定[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]的指定目录的文件信息并上传到远程服务器  |  [font=&][size=; font-size: 9pt,9pt]GetWhatsapp  | [font=&][size=; font-size: 9pt,9pt]38  | [size=; font-size: 9pt,9pt]获取用户手机里[font=&][size=; font-size: 9pt,9pt]Whatsapp[size=; font-size: 9pt,9pt]应用的[font=&][size=; font-size: 9pt,9pt]databases[size=; font-size: 9pt,9pt]、[font=&][size=; font-size: 9pt,9pt]shared_prefs[size=; font-size: 9pt,9pt]文件信息  |  [font=&][size=; font-size: 9pt,9pt]DeleteFiles  | [font=&][size=; font-size: 9pt,9pt]39  | [size=; font-size: 9pt,9pt]对用手机里的指定图片、视频、音频或者[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]文件进行删除  |  [font=&][size=; font-size: 9pt,9pt]DestroyApps  | [font=&][size=; font-size: 9pt,9pt]40  | [size=; font-size: 9pt,9pt]将用户手机里安装的[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]进行删除和破坏缓存[font=&][size=; font-size: 9pt,9pt]dex[size=; font-size: 9pt,9pt]文件  |  [font=&][size=; font-size: 9pt,9pt]ConsumeEnergy  | [font=&][size=; font-size: 9pt,9pt]41  | [size=; font-size: 9pt,9pt]消耗和浪费用户手机的网络资源和电量  |  [font=&][size=; font-size: 9pt,9pt]ConsumeMobileTraffic  | [font=&][size=; font-size: 9pt,9pt]42  | [size=; font-size: 9pt,9pt]发送无效的[font=&][size=; font-size: 9pt,9pt]http[size=; font-size: 9pt,9pt]请求,消耗用户手机的数据流量  |  [font=&][size=; font-size: 9pt,9pt]SetFlyMode  | [font=&][size=; font-size: 9pt,9pt]43  | [size=; font-size: 9pt,9pt]控制用户手机的飞行模式的开启和关闭  |  [font=&][size=; font-size: 9pt,9pt]SlowerPhone  | [font=&][size=; font-size: 9pt,9pt]44  | [size=; font-size: 9pt,9pt]执行脚本[font=&][size=; font-size: 9pt,9pt]slow.sh[size=; font-size: 9pt,9pt]消耗用户手机的内存资源  |  [font=&][size=; font-size: 9pt,9pt]MatchFiles  | [font=&][size=; font-size: 9pt,9pt]45  | [size=; font-size: 9pt,9pt]获取用户手机里与指定文件匹配的所有文件  |  [font=&][size=; font-size: 9pt,9pt]GetAVFileList  | [font=&][size=; font-size: 9pt,9pt]46  | [size=; font-size: 9pt,9pt]获取用户手机里指定格式图片、音频、视频文件的文件列表  |  [font=&][size=; font-size: 9pt,9pt]MMSInfo  | [font=&][size=; font-size: 9pt,9pt]50  | [size=; font-size: 9pt,9pt]将保存用户[font=&][size=; font-size: 9pt,9pt]MMS[size=; font-size: 9pt,9pt]类型信息的[font=&][size=; font-size: 9pt,9pt].ini[size=; font-size: 9pt,9pt]文件的数据上传到远程的服务器  |  [font=&][size=; font-size: 9pt,9pt]STRATEGY  | [font=&][size=; font-size: 9pt,9pt]51  | [size=; font-size: 9pt,9pt]收集用户手机里通信[font=&][size=; font-size: 9pt,9pt]app[size=; font-size: 9pt,9pt]、联系人等信息并将保存信息文件路径存储到数据库[font=&][size=; font-size: 9pt,9pt]config.db[size=; font-size: 9pt,9pt]的表[font=&][size=; font-size: 9pt,9pt]t_fileTask[size=; font-size: 9pt,9pt]中  |  [font=&][size=; font-size: 9pt,9pt]GetRoot  | [font=&][size=; font-size: 9pt,9pt]52  | [size=; font-size: 9pt,9pt]获取用户手机是否已经[font=&][size=; font-size: 9pt,9pt]root[size=; font-size: 9pt,9pt]的信息  |   <14>.如果用户手机接收到短信的发送手机号是在config.db的数据库number表中的类型为1的黑名单中的手机号,则该条短信如下详细信息发送到远程的服务器端;如果不在,只将短信的发送时间、短信内容、短信长度和用户手机的手机定位经纬度等信息上到远程的服务器。  <15>.对用户的手机通话进行监控并监听和处理广播事件android.intent.action.NEW_OUTGOING_CALL,对用户的电话拨号进行拦截,获取到用户所拨打的手机号码,如果该手机号不在数据库config.db里的表number中type为2的非黑名单中,则对该手机号的通话进行监控录音。  <16>.对用户的手机进行录音监控,监听和注册广播事件googleservice.action.startRecord和googleservice.action.stopRecord,当前广播事件为前者时对用户的手机进行监控录音和保存,当广播事件为后者时,将录音文件上传到远程的服务器端。  <17>.对用户的手机屏幕进行截图监控,注册和监听广播事件googleservice.action.startTakePicture和googleservice.action.takingPictureOver,当收到的广播事件为前者时,开启定时器任务回调对用户的手机屏幕进行截图操作,当接收到的广播事件为后者时,将对用户手机进行截图监控得到文件,上传远程的服务器端。  <18>.对用户的手机进行视频监控,注册和监听广播事件googleservice.action.startMovieRecord和googleservice.action.movieRecordOver,当监听到的广播事件为前者时,开启定时器回调对用户的手机进行视频的录制操作,当监听到的广播事件为后者时,结束视频监控,将对用户手机视频监控得到的文件上到远程的服务器端。  <19>.强制开启用户手机的Gps定位功能,监听和注册广播事件googleservice.opengps和 googleservice.closegps,当接收到这两种广播事件时,都会强制开启用户手机的Gps定位功能,还会发送位置更新请求更新用户手机的定位信息。  <20>.监控用户手机的网络定位信息的变化并实时将用户手机的网络定位经、纬度等信息,上传到远程的服务器端。  <21>.监听用户手机网络wifi的变化,注册和监听广播事件android.net.conn.CONNECTIVITY_CHANGE和android.net.wifi.WIFI_STATE_CHANGED,当接收到的广播事件为前者时,主动向SrvAddr和SrvPort描述的IP地址发起网络连接,让用户的手机接收远程服务器的命令控制(具体控制行为,上面12中已分析)并将保存用户基本信息的文件上传到远程的服务器;当接收到的广播事件为后者时,清除掉用户手机的wifi配置信息,对用户手机的WiFi进行自动密码的破解。  <22>.远程控制对用户手机里指定路径下的图片、音频、视频文件以及Android系统的其他文件进行删除操作,远程命令控制支持删除的图片、音频、视频文件的格式,如下所示:  在对Android系统的非多媒体文件进行删除时,若被删除文件在/system目录下时,先修改Android系统内存属性(root权限),然后将文件重名为.d文件,对/system/bin/app_process做特殊处理,执行kill命令结束掉/system/bin/app_process进程,其他的文件直接执行rm命令进行删除操作。  <23>.远程销毁和破坏用户手机里安装的所有Android应用程序,删除掉该Android应用的优化odex文件并破坏掉/data/dalvik-cache目录下的缓存dex文件,最后通过包名查找结束掉该Apk对应的Android进程。  <24>.远程控制实现自我的删除操作,执行命令的如下所示,当前Android应用在删除自身操作时,会创建标记文件/data/data/com.schemedroid/android.sys,将/system和/data目录下的com.schemedroid.apk文件删除和卸载后,结束自身进程。  <25>.关闭用户手机的wifi网络打开用户手机的移动数据流量,向http://www.androidcentral.com/google-play-store发送http数据请求,消耗用户手机的移动数据流量。  <26>.强制开启用户手机的Gps功能,wifi网络并开启wifi的扫描功能,发送http请求等操作以及创建和释放脚本文件/data/data/com.schemedroid/files/consume0.sh和脚本文件/data/data/com.schemedroid/files/consume.sh,执行命令sh consume.sh 3 & 对用户手机的网络资源和电池电量进行消耗。  <27>.创建和释放脚本文件/data/data/com.schemedroid/files/slow.sh和/data/data/com.schemedroid/files/slow0.sh,执行命令 sh slow.sh 10 & 运行脚本,消耗用户手机的内存资源。  over,基本的样本行为就是这么多了,还有一些其他的行为就不写了,在该木马病毒的远程控制指令中都有描述。加油~格式排版不是很好,图片压缩的厉害. |  
 
 
  免费评分
 
 
  查看全部评分 |  
  发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;  如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;  如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!  论坛附件只能通过单线程下载,迅雷等多线程工具不能正常下载! |   |   | 
  回复 举报 |   |  |   
 
 
 |