对一个手游修改器锁机APP的分析
背景
在网络上搜索到了一款号称可以无视市面上,任何手游反外挂检测的手游数据修改器。
于是就进行下载分析(使用或分析这种未知风险的APP,建议都在模拟器上进行操作,因为你不知道这APP是否有危害,在模拟器上运行,如果出问题了,顶多就是删除模拟器然后重新再来,如果再手机上运行,那么这个就可能需要你进行刷机才可解决。),在模拟器上安装完APP,点击启动APP然后就出现了下面的一幕。屏幕被锁了,界面还带有极具讽刺的文字。
我这个小曝脾气怎么能忍呢,随手就把模拟器给删除了(让你锁不了),然后重新创建个模拟器就开始进行下面分析了。
基础信息
一个APP的基本信息分析,一般可以从APP的界面信息、控件信息、文件组成信息、是否加固信息等基础情况进行着手分析。
通过SDK的自带的uiautomatorviewer控件查看工具,它可以查询分析APP运行时的控件组成信息,它的所在目录\Sdk\tools\bin\uiautomatorviewer。
通过控件工具看到这个手游修改器的界面控件主要是有三部分组成的,就是TextView控件也就是文字显示框(界面显示那些文字的哪些框框); EditText控件就是可编辑的输入编辑框(就是哪个输入锁机密码的哪个框架);Buttion控件就是按钮控件,它可以响应指定事件功能的,不过在这个APP中没有找到具体按钮响应功能。
通过查壳工具(通过识别app中是否有包含第三方加固产品的特定的SO文件)可以看到这个手游修改器是没有采取第三方加固产品进行加固的。
通过APP的AndroidManifest.xml配置文件中,可以识别出这个APP中的包名、SDK版本、四大组件、申请的权限信息。因此在静态分析过程中这个配置文件一般可以作为对APP功能熟悉的第一步,通过这个配置文件可以快速了解这个APP的基本信息。
通过借助jadx工具,可以识别出这个APP中代码和资源组成部分,这个APP中就是由java代码实现的,它由8个java类构成的完整功能,并没有使用到native层的代码,它还有一些自定义的资源,在drawable目录下。
权限信息
在android系统的安全机制下,特别在java代码实现部分,要想进行一些系统交互的功能都需要申请对应的权限。只有申请的权限才能进行对应的操作。
在APP中的所有申请的权限都存储在AndroidManifest.xml配置文件中。
android:name=“android.permission.SEND_SMS” 接发短信的权限
android:name=“android.permission.SYSTEM_ALERT_WINDOW” 弹出全局对话框权限
android:name=“android.permission.RECEIVE_BOOT_COMPLETED” 开机自启动权限
android:name=“android.permission.INTERNET” 访问网络的权限
android:name=“android.permission.ACCESS_NETWORK_STATE” 访问网络状态的权限
android:name=“android.permission.WRITE_EXTERNAL_STORAGE” SDK存储卡写入权限
android:name=“android.permission.MOUNT_UNMOUNT_FILESYSTEMS” SDK创建删除权限
android:name=“android.permission.VIBRATE” 允许访问振动设备
通过对配置文件中的所有申请的权限信息,它有几个敏感权限申请的操作,弹出全局对话框权限、开机自启动权限。
针对这种高敏权限,建议在启动过程中不要授权(但是很多申请权限都不符合对应的安全合规要求,因为它们都是属于有危害的APP。
锁机功能
锁屏功能是一种很好的保护个人手机的数据隐私非常重要的策略,但是锁屏这个功能被一些攻击者或从事黑灰产者利用后就变成一种非法勒索用户的手段。
这个APP中的锁机功能主要由以下步骤实现:
先判断当前安装环境是否有设置锁屏密码,如果有那么激活设备管理器账户功能进行请求更改擦除掉原手机环境的锁屏密码;
进行调用设定APP启动后的强制弹出全局对话框界面信息,这个对话框主要有按钮控件、编辑框控件、文字展示控件,在设定按钮控件侦听事件功能。
通过通过onCreate方法去调用activiteDevice接口,
这个activiteDevice接口是通过广播形式去实现达到,最后调用android.app.action.ADD_DEVICE_ADMIN进行激活设备管理器账户功能。
通过调用DevicePolicyManager类的 lockNow()函数进行判断是否有锁屏和修改锁屏的功能。
通过结合权限申请,然后进行弹出全屏对话框,对话框在通过绘制和读取自定义资源的方式进行界面锁定展示。
自启动功能
APP自动重启功能是锁机功能构成功能必不可少的一部分功能,自启动功能保证了锁机功能不会因为重启手机环境而导致功能的失效。
下面看下这个APP中的自动启动功能。
从上图中可以看出,当手机设备启动成功后,
APP会自动发送一条android.intent.action.BOOT_COMPLETED的广播,
接着通过Intent类去查找APP的启动类com.h.s就是这个APP中的Activity组件(这个s类继承Service类)。
最后在通过ComponentName这个接口进行启动com.h.s这个Activity(就是这个锁机的界面),从而实现APP的自动启动功能。
通过上图中,可以看出这个S类通过onCreate接口进行启动APP,然后跳转到锁机的这个界面。
加密功能
这个APP中对输入锁屏密码验证,它是通过采用对称的DES加密方式计算出来并进行验证的。
DES对称加密,它是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码),是一种对称加密算法。
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。
通过对APP中java代码的分析,它的加密方式是DES对称加密,知道了加密算法后,那么进行解密就有了头绪有了目标。
对于这个APP中的锁屏密码获取,可以用smali插桩的方式或者对DES进行解密而获取到这个加密密码。
小结
这个锁机的APP就是通过伪装成为手游修改器,这种在游戏中喜欢作弊的玩家就非常容易中枪,因为普通用户一般拿到APP就会马上进行在手机上安装,那么你只要安装并启动下你就中枪了,你的手机就被锁机了。
通过基于以上的一些分析和查阅相关资料,这种非常典型的锁机,其实功能实现上并没有什么复杂的地方,只是它这种锁屏模式传播性非常强,其实这种锁屏有个典型的特征S.java这个文件其实通用的一个模板,这个模板开发者的最早可以追溯到“薄荷”的开发者,很多的锁机APP都是基于头的模板进行修改定制的。
最后来点建议,在网络上千万不要被哪些关键敏感字眼和带有诱惑性的图片给吸引,要冷静冷静再冷静,对待网络上的东西要保持怀疑的态度来看待。下载资源和浏览对应的网页,最好在官网或者安全的商店上进行操作,因为你不知道这些对应资源和浏览的网页,背后隐藏着多少你无法看到的黑灰产、网络攻击、网络勒索等,它会给你带来的损失和伤害很多都是致命性的。
对一个手游修改器锁机APP的分析相关推荐
- 传奇手游战神引擎多机多区配置方法
传奇手游战神引擎多机多区配置方法 上篇文章给大家分享的是战神架设教程,今天给大家分享战神引擎多机多区配置方法 配置前准备 1.服务器并架设好环境(开几个区就需要几台服务器) 2.服务端(要开几个区就要 ...
- 一个手游外行怎样杀出万分之一创新血路(上篇)
文 / 龙御风 2013年8月,我向老板提出辞职要去创业,谈了几次,最后我说:"没办法,我的野心已经被激发了,说好听点叫梦想,说不好听点就叫野心,我必须去把它做出来." 梦想和野心 ...
- APK改之理 手游修改改编安卓程序工具安装使用教程
APK改之理 手游修改改编安卓程序工具安装使用教程 --APK破解付费程序 apk改之理是pc平台上一款非常好用的apk反编译工具,他将反编译以及签名等功能集中在一起,并且拥有非常人性化的操作界面,如 ...
- 代理一个手游需要多少?
代理手游想要赚钱,不仅要看这个游戏的营收能力,更要看代理运营这款游戏的成本,只有当营收远远大于成本,我们才能够从中获得一个令得自己满意的收入.代理一个手游究竟需要多少钱?我们又该如何去代理?以下是这两 ...
- 【改进】基于Matlab的穿越火线-枪战王者(CF手游)王者飞行棋礼包收支分析
[改进]基于Matlab的穿越火线-枪战王者(CF手游)王者飞行棋礼包收支分析 前言 模型升级的部分 仿真前提 仿真结果分析 钻石消耗分析 紫色路线 其他三色路线 关于红绿蓝结果的相似性分析 小结 关 ...
- APP安全环节缺失,手游运营商怎样应对APP破解困境
2013年手游行业的规模与收入均实现了大幅增长,发展势头强劲.然而,在手游快速发展的同一时候,因为监管.审核等方面存在着漏洞,手机游戏软件被破解后注入恶意代码.盗取用户財产.窃取用户设备信息的现象屡见 ...
- php是什么意思啊cf手游图片,CF手游星芒武器解析 英雄近战武器星芒分析
CF手游星芒武器解析 英雄近战武器星芒分析!CF手游到目前为止出了很多英雄级近战,不过以往的英雄级近战武器要么是尼泊尔要么是铲子或者是手斧,大家也都有点厌倦了.这次我们给大家带来了一款全新英雄级近战武 ...
- 基于Matlab的穿越火线-枪战王者(CF手游)王者飞行棋礼包收支分析
基于Matlab的穿越火线-枪战王者(CF手游)王者飞行棋礼包收支分析 前言 仿真假设 部分仿真结果 相关界面 仿真程序 运行结果 后语 本文章已有改进版,请戳链接[改进]基于Matlab的穿越火线- ...
- 很懒了不爱写,一个狮心王的修改器...就写了2个功能,今天有朋友要至少把MP锁了,就再加一项吧..今天修改器写完了,可以下了
将442E66 连续2字节修改为 90 90就可以锁定技能点,怎么加也够了....培养个全能吧 将5FFF5C 连续2字节修改为 01 ED就可以随意买东西..根本不花钱,不过物品栏金钱显示也变0了. ...
最新文章
- Python3 之 JSON
- Globalplatform TEE api介绍
- 搜索 | 电商行业模版驱动业务增长实践
- java 窗口 单例_java单例模式实现面板切换
- mysql行级锁作用_Mysql事务及行级锁的理解
- 阻塞队列-BlockningQueue
- 计算机插件技术应用原理,计算机软件技术中插件技术的运用
- iphone版 天行skyline_SkyLine
- python合并多个txt文件_python如何合并多个txt文件删除所有重复行并生成新文件
- git 遇到fatal:multiple stage entries for merged file
- rgba通道转rgb_image – 将RGBA颜色转换为RGB
- Redis 如何使用 Bitmap
- 手机上做c语言作业的软件下载,c语言编程软件手机版下载-C语言编程 安卓版v1.0.2-PC6安卓网...
- 模糊层次综合分析法Python实践及相关优缺点分析
- Java中成员变量的超详解
- 【php环境搭建/wamp/解释器/下载】
- 同学们上课,今天我们学习:UI 操作一定要在 UI 线程吗?
- [SCUCTF2022]校赛Web出题笔记
- C语言简易程序设计————6、用*号输出字母C的图案
- 业务复习-微信登录/第三方登录实现
热门文章
- StrictMode使用
- 单纯形法解线性规划初探(停更,高三毕业填坑)
- 微信/QQ/TIM防撤回神器,看见没有,这就是撤回狗
- 从零开始学python大数据与量化交易下载_学习python有什么推荐书?
- python海龟作图红绿灯_海龟作图---用Python绘图
- 今天你买到票了吗 从铁道部12306 cn网站漫谈电子商务网站的 海量事务高速处理 系统
- 测试beats真假的软件,beats官网防伪查询步骤(全程图解其真假查询步骤)
- Android(或者Java)通过HttpUrlConnection向SpringMVC请求数据(数据绑定)
- EasyExcel单元格格式设置问题
- 计算机中无操作休眠怎样设置,电脑设置不休眠【解决步骤】